zl程序教程

您现在的位置是:首页 >  其他

当前栏目

HibernateTemplate 查询详解编程语言

编程语言 详解 查询 hibernateTemplate
2023-06-13 09:20:31 时间

  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, value); 
 System.out.println(list.get(0)); 
 返回name为xiyue的User对象的条数
 
 七、findByNamedParam(String queryString , String[] paramName , Object[] value)
 示例: String queryString = select count(*) from bean.User u where u.name=:myName and u.password=:myPassword  
 String[] paramName= new String[]{ myName , myPassword };
 String[] value= new String[]{ xiyue , 123 };
 this.getHibernateTemplate().findByNamedParam(queryString, paramName, value);
 返回用户名为xiyue密码为123的User对象
 
 八、findByNamedQuery(String queryName)
 
 示例: 1、首先需要在User.hbm.xml中定义命名查询
 
 
 
 
 queryAllUser
 
 
 from bean.User
 
 ]]

 2、使用查询: 
 this.getHibernateTemplate().findByNamedQuery( queryAllUser );
 
 九、findByNamedQuery(String queryName, Object value) 
 
 示例: 1、首先需要在User.hbm.xml中定义命名查询 

   
 
 queryByName  
 
 from bean.User u where u.name = ? ]]  
 
 
 2、使用查询: 
 this.getHibernateTemplate().findByNamedQuery( queryByName , test ); 

原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/11244.html

cxml