Spring中常用的hql查询方法(getHibernateTemplate())
示例:getHibernateTemplate().find("from bean.User");
返回所有User对象
二、find(String queryString , Object value);
示例:getHibernateTemplate().find("from bean.User u where u.name=?", "test");
或模糊查询: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=?"
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=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=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"};
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、如下使用查询:
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、如下使用查询:
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"};
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、如下使用查询:
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"};
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";
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查询方法(getHibernateTemplate())的更多相关文章
- getHibernateTemplate()(Spring中常用的hql查询方法)
Spring中常用的hql查询方法(getHibernateTemplate()) --------------------------------- 一.find(String queryStrin ...
- J2EE进阶(十七)Hibernate中常用的HQL查询方法(getHibernateTemplate())
J2EE进阶(十七)Hibernate中常用的HQL查询方法(getHibernateTemplate()) 当我们使用Hibernate进行数据的CRUD操作时,利用模版进行操作不失为一种方法. ...
- django中常用的数据查询方法
https://blog.csdn.net/chen1042246612/article/details/84071006
- 【hql】spring data jpa中 @Query使用hql查询 问题
spring data jpa中 @Query使用hql查询 问题 使用hql查询, 1.from后面跟的是实体类 不是数据表名 2.字段应该用实体类中的字段 而不是数据表中的属性 实体如下 hql使 ...
- Spring中常用的23中设计模式
1.spring 中常用的设计模式有23中 分类 设计模式 创建型 工厂方法模式(FactoryMethod).抽象工厂模式(AbstractFactory).建造者模式(Builder).原型 ...
- 简单了解Spring中常用工具类_java - JAVA
文章来源:嗨学网 敏而好学论坛www.piaodoo.com 欢迎大家相互学习 文件资源操作 Spring 定义了一个 org.springframework.core.io.Resource 接口, ...
- 浅析jQuery中常用的元素查找方法总结
本篇文章是对jQuery中常用的元素查找方法进行了详细的总结和介绍,需要的朋友参考下 $("#myELement") 选择id值等于myElement的元素,id值不能重复在文 ...
- java中常用的包、类、以及包中常用的类、方法、属性----sql和text\swing
java中常用的包.类.以及包中常用的类.方法.属性 常用的包 java.io.*; java.util.*; java.lang.*; java.sql.*; java.text.*; java.a ...
- MVC中常用的跳转方法
MVC中常用的跳转方法 这里总结了几种MVC中的跳转方式,主要汇总了前端页面跳转,后台的跳转,和过滤器中的跳转方式. 1.在前端页面的跳转方式 <!--属性形式---> <a hre ...
随机推荐
- ecshop简单结构
Ecshop包括的文件夹有admin.api.cert.data.images.includes.js. languages.plugins.temp.theme.wap.widget这些文件夹,和根 ...
- racle undo 解析
racle undo 解析 声明一下:关于oracle的文章基于boobooke小布老师视频,在我学习的过程中,每有体会拿来分享,虽然从理解到整理分享很耗时,但我想这样的学习是扎实的. Undo是干嘛 ...
- LINUX 暂停、继续进程
LINUX 暂停.继续进程 kill -STOP 1234 将该进程暂停. 如果要让它恢复到后台,用kill -CONT 1234 (很多在前台运行的程序这样是不行的) 如果要恢复到前台,请在当时运行 ...
- 命令行解释器(shell)
unix> ./hello hello world unix> ll 显示当前目录下文件信息. shell为命令行解释器,第一个单词可以是内置的外壳命令,也可以是一个可执行文件名.
- 关于清晰讲解linux正则表达式的博文分享
http://www.cnblogs.com/chengmo/archive/2010/10/10/1847287.html linux shell 正则表达式(BREs,EREs,PREs)差异比 ...
- 栈ADT的数组实现
/* 栈的数组实现声明 */ struct StackRecord; typedef struct StackRecord *Stack; #define MinSstackSize 5 #defin ...
- GCC 编译选项
http://www.cnblogs.com/xmphoenix/archive/2011/03/21/1989944.html GCC 编译选项(转) gcc提供了大量的警告选项,对代码中可能存在的 ...
- iOS GCD详解
前言 对初学者来说,GCD似乎是一道迈不过去的坎,很多人在同步.异步.串行.并行和死锁这几个名词的漩涡中渐渐放弃治疗.本文将使用图文表并茂的方式给大家形象地解释其中的原理和规律. 线程.任务和队列的概 ...
- javascript第十六课:动态注册事件
直接给dom元素添加动态事件,如: document.getelementbyid('#id').onclick=function(){ 方法体! };
- sso单点登录解决方案收集
本文来自:http://blog.csdn.net/huwei2003/article/details/6038017 我的想法是使用集中验证方式,多个站点集中Passport验证. 主站:Passp ...