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. POJ 1655 Balancing Act (树形DP求树的重心)

    题意: 求一棵树中以某个点为重心最小的子树集, 就是去掉这个点, 图中节点最多的联通块节点最少. 分析: 想知道这个点是不是最优的点, 只要比较它子树的数量和除去这部分其他的数量(它的父节点那部分树) ...

  2. Leetcode 273.整数转换英文表示

    整数转换英文表示 将非负整数转换为其对应的英文表示.可以保证给定输入小于 231 - 1 . 示例 1: 输入: 123 输出: "One Hundred Twenty Three" ...

  3. 视图中 jquery 使用data属性

    示例:<input id='username' data-id="{$val['id']}" data-userName="{$val['name']}" ...

  4. oc温习八:static、extern、const 的了解

    参考文章:http://www.cocoachina.com/ios/20161110/18035.html 1.const 这个单词翻译成中文是“常量”的意思.在程序中我们知道“常量”的值是不能变的 ...

  5. iOS FMDB 无法更新二进制数据的问题

    使用FMDB很方便的实现了(通过数据库字段名而不是字段索引)数据的读取,插入,更新,删除.但是我在更新图片时发现通过格式化字符(@“%@”,data/NSData/)传入的二进制数据更新到数据库后不能 ...

  6. Codeforces 660E Different Subsets For All Tuples【组合数学】

    看了官方题解+q神的讲解才懂... 智商问题.. 讲道理..数学真的比脱单难啊... 题目链接: http://codeforces.com/problemset/problem/660/E 题意: ...

  7. scoi2018游记

    day1: t1点分树 冬令营上jry讲过原题,t2启发式合并+解二次同余方程 预计100+100+0 结果t1卡内存,t2模数太大.导致调试到没有写t3 最后t1 85 t2 15 要是我会o1快速 ...

  8. 虚拟社会(Virtual Society)

    虚拟社会(Virtual Society),又称赛博社会(Cyber Society),是指不同网民之间经由计算机.远程通讯终端等技术设备相互连接起来以进行信息的共享.互动与交流,并在其中进行社会交往 ...

  9. zookeeper客户端

    查看具体结点信息 bash zkServer.sh status 查看哪个结点被选作leader或者followerecho stat|nc 127.0.0.1 2181 测试是否启动了该Server ...

  10. [LeetCode][Java] Subsets

    题目: Given a set of distinct integers, nums, return all possible subsets. Note: Elements in a subset ...