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中定义命名查询

             <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)

 

 

             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);

 示例:

        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"};

getHibernateTemplate()(Spring中常用的hql查询方法)的更多相关文章

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

    一.find(String queryString); 示例:getHibernateTemplate().find("from bean.User"); 返回所有User对象 二 ...

  2. J2EE进阶(十七)Hibernate中常用的HQL查询方法(getHibernateTemplate())

    J2EE进阶(十七)Hibernate中常用的HQL查询方法(getHibernateTemplate())   当我们使用Hibernate进行数据的CRUD操作时,利用模版进行操作不失为一种方法. ...

  3. django中常用的数据查询方法

    https://blog.csdn.net/chen1042246612/article/details/84071006

  4. 【hql】spring data jpa中 @Query使用hql查询 问题

    spring data jpa中 @Query使用hql查询 问题 使用hql查询, 1.from后面跟的是实体类 不是数据表名 2.字段应该用实体类中的字段 而不是数据表中的属性 实体如下 hql使 ...

  5. Spring中常用的23中设计模式

    1.spring 中常用的设计模式有23中  分类  设计模式  创建型 工厂方法模式(FactoryMethod).抽象工厂模式(AbstractFactory).建造者模式(Builder).原型 ...

  6. 简单了解Spring中常用工具类_java - JAVA

    文章来源:嗨学网 敏而好学论坛www.piaodoo.com 欢迎大家相互学习 文件资源操作 Spring 定义了一个 org.springframework.core.io.Resource 接口, ...

  7. 浅析jQuery中常用的元素查找方法总结

    本篇文章是对jQuery中常用的元素查找方法进行了详细的总结和介绍,需要的朋友参考下   $("#myELement") 选择id值等于myElement的元素,id值不能重复在文 ...

  8. java中常用的包、类、以及包中常用的类、方法、属性----sql和text\swing

    java中常用的包.类.以及包中常用的类.方法.属性 常用的包 java.io.*; java.util.*; java.lang.*; java.sql.*; java.text.*; java.a ...

  9. MVC中常用的跳转方法

    MVC中常用的跳转方法 这里总结了几种MVC中的跳转方式,主要汇总了前端页面跳转,后台的跳转,和过滤器中的跳转方式. 1.在前端页面的跳转方式 <!--属性形式---> <a hre ...

随机推荐

  1. 夯实Java:从面向对象说起

    作者:伯特出处:github.com/ruicbAndroid/LoulanPlan声明:本文出自伯特的<LoulanPlan>,转载务必注明作者及出处. 刚学习 Java 那会就接触了& ...

  2. ps---图层,移动工具

    1.移动图层从一个文件到另一个文件相当于复制,如果俩文件大小相同,开始移动后,按下shift键,可保持原来位置.若不相同,拖拽后,按shift,则会自动居中.如果目标文档包含选区,会到选区的中央. 2 ...

  3. 我的java web之路(安装)

    所有的软件下载完,陪完jdk之后,迎来了一系列的安装工作... 1.安装SQL Server 2005 首先,打开ISS功能,控制面板->程序->打开或关闭windows功能 注意红框内的 ...

  4. selenium 3+python3.6+firefox的windows详细环境搭建以及小demo

    最近也是学习了下selenium和python,就记录了下在自己工作机上环境的搭建过程以及小demo 1,安装python3.6.1 我是去官网直接下载当前最新版的python3.6.1 官网网址为h ...

  5. Fidder详解-工具简介(保存会话、decode解码、Repaly、自定义会话框、隐藏会话、会话排序)

    前言 本文会对Fidder这款工具的一些重要功能,进行详细讲解,带大家进入Fidder的世界,本文会让你明白,Fidder不仅是一个抓包分析工具,也是一个请求发送工具,更加可以当作为Mock Serv ...

  6. Linux基础之基本命令cat less more sort uniq alias 命令行 bash简单描述(三)

    获取Linux当前最新的内核版本号经常关注www.kernel.org 目录管理:ls cd pwd mkdir rmdir tree 文件管理:touch stat file rm cp mv na ...

  7. 【尺取】HDU String

    http://acm.hdu.edu.cn/showproblem.php?pid=5672 [题意] 给定一个小写英语字母组成的字符串,求这个字符串一共包含多少个至少有m个不同字母的连续子序列 [思 ...

  8. PHP应用日期与时间

    <?php/* 时间戳 * * 1. 是一个整数 * 2. 1970-1-1 到现在的秒数 1213212121 * * 2014-02-14 11:11:11 * * 02/14/2014 1 ...

  9. [NOIP2000] 提高组 洛谷P1022 计算器的改良

    题目背景 NCL是一家专门从事计算器改良与升级的实验室,最近该实验室收到了某公司所委托的一个任务:需要在该公司某型号的计算器上加上解一元一次方程的功能.实验室将这个任务交给了一个刚进入的新手ZL先生. ...

  10. wordpress网站后台打开速度很慢解决方法?

    今天就和朋友们分享下,wordpress网站后台最近打开速度很慢的原因及解决方法.推荐第三种方法 方法/步骤   1.安装插件:在插件中搜索 Disable Google Fonts,选择安装,然后启 ...