Spring 中常用的 HQL 查询方法(getHibernateTemplate())
一、find(String queryString);
示例:this.getHibernateTemplate().find("from bean.User");
返回所有 User 对象
二、find(String queryString , Object value);
示例:this.getHibernateTemplate().find("from bean.User u where u.name=?", "test");
或模糊查询:this.getHibernateTemplate().find("from bean.User u where u.name like ?",
"%test%");
返回 name 属性值为 test 的对象(模糊查询,返回 name 属性值包含 test 的对象)
三、find(String queryString, Object[] values);
示例:String hql= "from bean.User u where u.name=? and u.password=?"
this.getHibernateTemplate().find(hql, new String[]{"test",
"123"});
返回用户名为 test 并且密码为 123 的所有 User 对象
---------------------------------
四、findByExample(Object exampleEntity)
示例:
User u=new User();
u.setPassword("123");//必须 符合的条件但是这两个条件时并列的(象当于
sql 中的 and)
u.setName("bb");
list=this.getHibernateTemplate().findByExample(u,start,max);
返回:用户名为 bb 密码为 123 的对象
五、findByExample(Object exampleEntity, int firstResult, int maxResults)
示例:
User u=new User();
u.setPassword("123");//必须 符合的条件但是这两个条件时并列的(象当于
sql 中的 and)
u.setName("bb");
list=this.getHibernateTemplate().findByExample(u,start,max);
返回:满足用户名为 bb 密码为 123,自 start 起共 max 个 User 对象。(对象从 0 开始计数)
---------------------------------------------------
六、findByNamedParam(String queryString , String paramName , Object value)
使用以下语句查询:
String queryString = "select count(*) from bean.User u where u.name=:myName";
String paramName= "myName";
String value= "xiyue";
this.getHibernateTemplate().findByNamedParam(queryString, paramName,