HibernateTemplate全解

来源:互联网 发布:昆仑银行 知乎 编辑:程序博客网 时间:2024/05/17 02:45
  • 一、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中定义命名查询  
  •   
  •              <hibernate-mapping>  
  •   
  •                   <class>......</class>  
  •   
  •                   <query name="queryAllUser"><!--此查询被调用的名字-->  
  •   
  •                        <![CDATA[  
  •   
  •                             from bean.User  
  •   
  •                         ]]>  
  •   
  •                   </query>  
  •   
  •              </hibernate-mapping>  
  •   
  •         2、如下使用查询:  
  •   
  •             this.getHibernateTemplate().findByNamedQuery("queryAllUser");  
  •   
  •   
  •   
  • 九、findByNamedQuery(String queryName, Object value)  
  •   
  •       示例:  
  •   
  •        1、首先需要在User.hbm.xml中定义命名查询  
  •   
  •              <hibernate-mapping>  
  •   
  •                   <class>......</class>  
  •   
  •                   <query name="queryByName"><!--此查询被调用的名字-->  
  •   
  •                        <![CDATA[  
  •   
  •                             from bean.User u where u.name = ?  
  •   
  •                         ]]>  
  •   
  •                   </query>  
  •   
  •              </hibernate-mapping>  
  •   
  •         2、如下使用查询:  
  •   
  •             this.getHibernateTemplate().findByNamedQuery("queryByName", "test");  
  •   
  •   
  •   
  • 十、findByNamedQuery(String queryName, Object[] value)  
  •   
  •       示例:  
  •   
  •        1、首先需要在User.hbm.xml中定义命名查询  
  •   
  •              <hibernate-mapping>  
  •   
  •                   <class>......</class>  
  •   
  •                   <query name="queryByNameAndPassword"><!--此查询被调用的名字-->  
  •   
  •                        <![CDATA[  
  •   
  •                             from bean.User u where u.name =? and u.password =?  
  •   
  •                         ]]>  
  •   
  •                   </query>  
  •   
  •              </hibernate-mapping>  
  •   
  •         2、如下使用查询:  
  •   
  •              String[] values= new String[]{"test", "123"};  
  •   
  •             this.getHibernateTemplate().findByNamedQuery("queryByNameAndPassword" , values);  
  •   
  •   
  •   
  • 十一、findByNamedQueryAndNamedParam(String queryName, String paramName, Object value)   
  •   
  • 示例:  
  •   
  •        1、首先需要在User.hbm.xml中定义命名查询  
  •   
  •              <hibernate-mapping>  
  •   
  •                   <class>......</class>  
  •   
  •                   <query name="queryByName"><!--此查询被调用的名字-->  
  •   
  •                        <![CDATA[  
  •   
  •                             from bean.User u where u.name =:myName  
  •   
  •                         ]]>  
  •   
  •                   </query>  
  •   
  •              </hibernate-mapping>  
  •   
  •         2、如下使用查询:  
  •   
  •             this.getHibernateTemplate().findByNamedQuery("queryByName" , "myName", "test");  
  •   
  •   
  •   
  • 十二、findByNamedQueryAndNamedParam(String queryName, String[] paramName, Object[] value)   
  •   
  • 示例:  
  •   
  •        1、首先需要在User.hbm.xml中定义命名查询  
  •   
  •              <hibernate-mapping>  
  •   
  •                   <class>......</class>  
  •   
  •                   <query name="queryByNameAndPassword"><!--此查询被调用的名字-->  
  •   
  •                        <![CDATA[  
  •   
  •                             from bean.User u where u.name =:myName and u.password=:myPassword  
  •   
  •                         ]]>  
  •   
  •                   </query>  
  •   
  •              </hibernate-mapping>  
  •   
  •         2、如下使用查询:  
  •   
  •              String[] names= new String[]{"myName", "myPassword"};  
  •   
  •              String[] values= new String[]{"test", "123"};  
  •   
  •   
  •   
  •             this.getHibernateTemplate().findByNamedQuery("queryByNameAndPassword" , names, values);  
  •   
  •   
  •   
  • 十三、findByValueBean(String queryString , Object value);  
  •   
  • 示例:  
  •   
  •      1、定义一个ValueBean,属性名必须和HSQL语句中的:后面的变量名同名,此处必须至少有两个属性,分别为myName和myPassword,使用setter方法设置属性值后  
  •   
  •           ValueBean valueBean= new ValueBean();  
  •   
  •           valueBean.setMyName("test");  
  •   
  •           valueBean.setMyPasswrod("123");  
  •   
  •      2、  
  •   
  •           String queryString= "from bean.User u where u.name=:myName and u.password=:myPassword";  
  •   
  •          this.getHibernateTemplate().findByValueBean(queryString , valueBean);  
  •   
  •          
  •   
  • 十四、findByNamedQueryAndValueBean(String queryName , Object value);  
  •   
  • 示例:  
  •   
  •       1、首先需要在User.hbm.xml中定义命名查询  
  •   
  •              <hibernate-mapping>  
  •   
  •                   <class>......</class>  
  •   
  •                   <query name="queryByNameAndPassword"><!--此查询被调用的名字-->  
  •   
  •                        <![CDATA[  
  •   
  •                             from bean.User u where u.name =:myName and u.password=:myPassword  
  •   
  •                         ]]>  
  •   
  •                   </query>  
  •   
  •              </hibernate-mapping>  
  •   
  •      2、定义一个ValueBean,属性名必须和User.hbm.xml命名查询语句中的:后面的变量名同名,此处必须至少有两个属性,分别为myName和myPassword,使用setter方法设置属性值后  
  •   
  •           ValueBean valueBean= new ValueBean();  
  •   
  •           valueBean.setMyName("test");  
  •   
  •           valueBean.setMyPasswrod("123");  
  •   
  •   
  •   
  •   
  •      3、  
  •   
  •   
  •   
  •           String queryString= "from bean.User u where u.name=:myName and u.password=:myPassword";  
  •   
  •          this.getHibernateTemplate().findByNamedQueryAndValueBean("queryByNameAndPassword", valueBean);   
  • 原创粉丝点击