hibernateTemplate 的find 查找方法

  1. 一、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);


你可能感兴趣的:(hibernateTemplate 的find 查找方法)