`
hdxiong
  • 浏览: 371825 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Spring中常用的hql查询方法(getHibernateTemplate())

    博客分类:
  • SSH
阅读更多
转载地址:http://www.blogjava.net/jumliang/archive/2009/03/10/258743.html

一、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(),1.不支持主键;2.不支持关联;3.不支持NULL。

五、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);
分享到:
评论

相关推荐

    Spring中常用的hql查询方法

    Spring中常用的hql查询方法_(getHibernateTemplate())

    getHibernateTemplate()查询

    getHibernateTemplate()查询 hibernate hql

    gethibernatetemplate的find方法

    gethibernatetemplate的find方法,find(String queryString);find(String queryString , Object value);find(String queryString, Object[] values);findByExample(Object exampleEntity);findByExample(Object ...

    getHibernateTemplate()有模糊查询和 分页

    getHibernateTemplate()有模糊查询和 分页getHibernateTemplate()有模糊查询和 分页

    getHibernateTemplate

    getHibernateTemplate()方法

    getHibernateTemplate分页-模糊查询

    getHibernateTemplate分页-模糊查询.hibernate查询以及分页查询等方法使用。

    getHibernateTemplate()使用方法

    整合了hibernate的getHibernateTemplate()使用方法 全面详细 带有相应的例子

    第24次课-1 Spring与Hibernate的整合

    第24次课-1 Spring与Hibernate的整合 本节主要内容 24.1 概述 24.2 管理SessionFactory 24.3 Spring对Hibernate的简化 ...1. Spring中是怎么对Hibernate进行支持的? 2. 如何进行Spring与Hibernate的整合?

    jsp中调用dao的getHibernateTemplate()时,报空指针

    jsp中调用dao的getHibernateTemplate()时,报空指针

    spring 理解文件HibernateDaoSupport

    .相同点:在applicationConext.xml中 ... HibernateDaoSupport: 在impl中要调用的方法要getHibernateTemplate().delete(user); UserDaoHiberateImpl: 在impl中要调用的方法要hibernateTemplate.save(user);

    ssh(structs,spring,hibernate)框架中的上传下载

     文件数据存储在Blob类型的FILE_CONTENT表字段上,在Spring中采用OracleLobHandler来处理Lob字段(包括Clob和Blob),由于在程序中不需要引用到oracle数据驱动程序的具体类且屏蔽了不同数据库处理Lob字段方法上的...

    spring_MVC源码

    弃用了struts,用spring mvc框架做了几个项目,感觉都不错,而且使用了注解方式,可以省掉一大堆配置文件。本文主要介绍使用注解方式配置的spring mvc,之前写的spring3.0 mvc和rest小例子没有介绍到数据层的内容,...

    spring_demo:Spring MVC示范项目

    在更新或删除数据时,必须调用getHibernateTemplate().flush(); 且在web.xml中添加 &lt;filter&gt;openSessionInViewFilter &lt;filter&gt;org.springframework.orm.hibernate4.support.OpenSessionInViewFilter &lt;param&gt;...

    Hibernate中Criteria的完整用法.docx

    Spring 的框架提供了getHibernateTemplate ().findByCriteria(detachedCriteria) 方法可以很方便地根据DetachedCriteria 来返回查询结 果。 DetachedCriteria 提供了 2 个静态方法 forClass(Class) 或 forEntityName...

    spring 声明式事务

    1.本例子的使用了 ssh ...2.本例子DAO层 使用了 getHibernateTemplate 来实现数据的新增修改和删除 3.本例子使用了声明式事务 4.本例子提供了详细的使用方法,可以根据 readme.txt 来逐步的验证声明式事务是否起作用

    Struts2 Spring hibernate 国际化 表单验证 安全退出

    添加以下方法 ,loginaction的条件用这个来改 public boolean login(String username, String password) { // TODO Auto-generated method stub String param[]={username,password}; List list= this....

    图书查询-Java-Web程序设计教程-[共2页].pdf

    Java Web 程序设计教程 300 页 &lt;/div&gt; &lt;/div&gt; &lt;/div&gt; &lt;jsp:include page="foot.jsp"&gt;&lt;/jsp:include&gt; &lt;/body&gt; &lt;/html&gt; 14.5 图书查询 在 head.jsp 页面中,不只有登录、注销和注册功能,在它们的下面,还有图书查询...

    使用原生sql.txt

    我就是问: getHibernateTemplate()这个方法里没有执行sql语句的方法,只能用hql语句吗?

    hibernate模板类详解

    find(String queryString , Object value); 示例:this.getHibernateTemplate().find("from bean.User u where u.name=?", "test"); 这样的例子里面还有很多

    Hibernate使用技巧汇总

    HibernateTemplate对Hibernate Session操作进行了封装,而 HibernateTemplate.execute方法则是一封装机制的核心 *在spring的配置文件里,移植了整个hibernate.cfg.xml的内容。

Global site tag (gtag.js) - Google Analytics