- 浏览: 405339 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
skying007:
...
Mysql coalesce() 函数认识和用法 -
kchiu:
关于这个心跳的发送和接收 晚上全是the fuccking s ...
socket心跳检测 -
bjsq618:
你的想法在大的物流公司已经实现了,只不过他们使用是GPS定位
ddd -
jiaguwen123:
2,AuthenticationHandler类的写法
pa ...
xfire客户端 -
sornor:
总结的不错哟!
Java中的函数yield(),sleep()和wait()的区别
入门 05 - Query接口
我们可以透过 org.hibernate.Query接口的实例来进行查询,透过Query接口,您可以先设定查询参数,之后透过setXXX()等方法,将指定的参数值填入,而不用每次都撰写完整的HQL,直接来看个例子:
参数设定见书(陈天河 ssh集成) 的第406页
在设定参数值时,必须依照 ? 所设定的顺序,并使用对应型态的setXXX()方法,一个执行的例子如下:
您可以使用命名参数:参数(Named Parameter)来取代这个方法,这可以不用依照特定的顺序来设定参数值,并拥有较好的可读性,直接来看个例子:
设定命名参数时,在建立Query时先使用:后跟着参数名,之后我们就可以在setXXX()方法中直接指定参数名来设定参数值,而不用依照特定的顺序。
我们也可以将HQL撰写在程序之外,以避免硬编码(hard code)在程序之中,在需要修改HQL时就很方便,在*.hbm.xml中使用<query/>标签,并在<![CDATA[与]] >之间撰写HQL,撰写的位置是在</hibernate-mapping>之前,例如:
<query>的name属性用来设定查询外部HQL时的名称依据,使用的例子如下:
我们可以透过 org.hibernate.Query接口的实例来进行查询,透过Query接口,您可以先设定查询参数,之后透过setXXX()等方法,将指定的参数值填入,而不用每次都撰写完整的HQL,直接来看个例子:
Query query = session.createQuery("select user.name from User as user where user.age = ? and user.sex = ?"); query.setInteger(0, 25);//设定参数0为第一参数;1为第二个参数?
参数设定见书(陈天河 ssh集成) 的第406页
query.setCharacter(1, 'M'); List names = query.list(); for (ListIterator iterator = names.listIterator(); iterator.hasNext(); ) { String name = (String) iterator.next(); System.out.println("name: " + name); }
在设定参数值时,必须依照 ? 所设定的顺序,并使用对应型态的setXXX()方法,一个执行的例子如下:
log4j:WARN No appenders could be found for logger (net.sf.hibernate.cfg.Environment). log4j:WARN Please initialize the log4j system properly. Hibernate: select user0_.name as x0_0_ from USER user0_ where (user0_.age=? )and(user0_.sex=? ) name: Bush
您可以使用命名参数:参数(Named Parameter)来取代这个方法,这可以不用依照特定的顺序来设定参数值,并拥有较好的可读性,直接来看个例子:
Query query = session.createQuery("select user.name from User as user where user.age = :age and user.sex = :sex"); query.setInteger("age", 25); query.setCharacter("sex", 'M'); List names = query.list(); for (ListIterator iterator = names.listIterator(); iterator.hasNext(); ) { String name = (String) iterator.next(); System.out.println("name: " + name); }
设定命名参数时,在建立Query时先使用:后跟着参数名,之后我们就可以在setXXX()方法中直接指定参数名来设定参数值,而不用依照特定的顺序。
我们也可以将HQL撰写在程序之外,以避免硬编码(hard code)在程序之中,在需要修改HQL时就很方便,在*.hbm.xml中使用<query/>标签,并在<![CDATA[与]] >之间撰写HQL,撰写的位置是在</hibernate-mapping>之前,例如:
User.hbm.xml <?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD//EN" "http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd"> <hibernate-mapping> <class name="onlyfun.caterpillar.User" table="USER"> <id name="id" type="string"> <column name="user_id" sql-type="char(32)" /> <generator class="uuid.hex"/> </id> <property name="name" type="string" not-null="true"> <column name="name" length="16" not-null="true"/> </property> <property name="sex" type="char"/> <property name="age" type="int"/> </class> <query name="com.abin.User"> <![CDATA[ select user.name from User as user where user.age = :age and user.sex = :sex ]]> </query> </hibernate-mapping>
<query>的name属性用来设定查询外部HQL时的名称依据,使用的例子如下:
Query query = session.getNamedQuery("com.abin.User"); query.setInteger("age", 25); query.setCharacter("sex", 'M'); List names = query.list(); for (ListIterator iterator = names.listIterator(); iterator.hasNext(); ) { String name = (String) iterator.next(); System.out.println("name: " + name); }
发表评论
-
Hibernate 5种查询方式代码示例
2011-08-13 09:52 1677package com.cstp.hibernate; im ... -
Java Hibernate Criteria 用法
2010-11-07 23:43 505815.1. 创建一个Criteria 实例org.hibern ... -
hibernate技巧 封装查询结果
2010-11-07 23:30 1221hibernate技巧 封装查询结果 将hibernate 查 ... -
hibernate调用数据库自定义函数
2010-10-31 17:31 1684本文使用的是Oracle9i数据库,hibernate3.0, ... -
HibernateTemplate 的 find方法使用
2010-10-27 22:04 2269一、find(String queryString); ... -
hibernate分组查询
2010-10-26 21:54 1614private static final Str ... -
Hibernate Criteria
2010-10-10 21:58 959Hibernate QBC查询 QBC查询: ... -
论述Hibernate中抓取策略
2010-10-10 21:27 1282Hibernate抓取策略(fetch ... -
Hibernate3的DetachedCriteria支持
2010-10-10 08:42 886Hibernate3支持DetachedCriteria,这是 ... -
hibernate 中对象操作中evict方法和clear方法的区别
2010-09-14 10:11 1237session.evict(obj),会把指定的缓冲对象进行清 ... -
Hibernate三种状态的区分
2010-09-14 10:02 936Hibernate的对象有3种状态,分别为:瞬时态(Trans ... -
hibernate查询多对多数据范例
2010-09-03 16:38 1045public class StuDao<T> ex ... -
hibernate生成数据库表
2010-08-19 08:22 4100import org.hibernate.cfg.Config ... -
hibernate二级缓存
2010-08-19 07:56 1079二级缓存也称进程级的缓存或SessionFactory级的缓存 ... -
hibernate一级缓存
2010-08-18 23:11 1206一级缓存很短和session的生命周期一致,一级缓存也叫ses ... -
hibernate向MYSQL插入数据的乱码问题
2010-08-17 21:55 1258向数据库插入数据的时候出现乱码,解决办法: 一、数据库连接串 ... -
composite-id 学习
2010-08-15 17:10 1254组件作为联合标识符,必须满足: 它必须实现java.io.Se ... -
hibernate存储过程调用
2010-08-12 17:28 1573听说Hibenate3可以在执行 ... -
Hibernate对视图的操作
2010-08-12 17:08 1227Hibernate对视图进行操作时和对普通的表有些不同,下面就 ... -
findMsgFluxByCp备忘
2010-08-12 14:21 870public List<MsgFlux> fin ...
相关推荐
第5章 MySQL Administrator和MySQL Query Browser 5.1 安装 5.2 与MySQL服务器建立连接 5.3 MySQL Administrator 5.4 MySQL Query Browser 第6章 phpMyAdmin 6.1 phpMyAdmin的安装与配置 6.2...
# query an email address emailrep bill@microsoft.com # report an email address (key required) emailrep --report foo@bar.com --tags " bec, maldoc " --description " Phishing email targeting CEO " 快速...
第 17 章介绍了面向对象程序设计的基本特性 这一章说明了如何设计和实现一个Query 类层次结构 用来支持第 6 章实现的文本查询系统 第 18章介绍更为复杂的继承层次结构 多继承和虚拟继承机制使得这样的层次结构成...
网管教程 从入门到精通软件篇 ★一。★详细的xp修复控制台命令和用法!!! 放入xp(2000)的光盘,安装时候选R,修复! Windows XP(包括 Windows 2000)的控制台命令是在系统出现一些意外情况下的一种非常有效的...
搜索歌词###小程序的入门简单demo本demo有两个页面,分别是歌曲的搜索页和歌词的搜索结果页,调用接口是百度音乐API接口搜索歌曲接口...query = 搜索关键字搜索歌词接口...
1. Hibernate入门 1.1. 前言 1.2. 第一部分 - 第一个Hibernate应用程序 1.2.1. 第一个class 1.2.2. 映射文件 1.2.3. Hibernate配置 1.2.4. 用Ant构建 1.2.5. 启动和辅助类 1.2.6. 加载并存储对象 1.3. 第...
1. Hibernate入门 1.1. 前言 1.2. 第一部分 - 第一个Hibernate应用程序 1.2.1. 第一个class 1.2.2. 映射文件 1.2.3. Hibernate配置 1.2.4. 用Ant构建 1.2.5. 启动和辅助类 1.2.6. 加载并存储对象 1.3. 第...
1. Hibernate入门 1.1. 前言 1.2. 第一部分 - 第一个Hibernate应用程序 1.2.1. 第一个class 1.2.2. 映射文件 1.2.3. Hibernate配置 1.2.4. 用Ant构建 1.2.5. 启动和辅助类 1.2.6. 加载并存储对象 1.3. 第...
4.2.IObjectFactory,IApplicationContext和IObjectDefinition接口介绍 4.2.1.The IObjectFactory和IApplicationContext 4.2.2.对象定义 4.2.3.对象的创建 4.2.3.1.通过构造器创建对象 4.2.3.2.通过静态工厂...
v1.0.0中的重大更改在v1.0.0中,此库具有一个新的流畅接口,该接口可以与Knex很好地配合使用,并且更加符合Apollo DataSources的精神。 const query = this . knex . select ( "*" ) . from ( "fruit" ) . where ( {...
Omit dependenciesnpm run build // Include dependencies多姆dom(selector) 返回与document selector匹配的元素数组( dom.query(selector, document)别名)。DOM节点根头身体观滚动的主要“视图”元素,是<head
39. @Query中的安全表达式 273 第八部分 附录 274 40.安全数据库模式 274 40.1用户模式 274 40.1.1集团当局 274 40.2持久登录(记得我)架构 275 40.3 ACL模式 275 40.3.1 HyperSQL 276 40.3.2 PostgreSQL 277 40.3....
入门 该接口能够在Windows和Linux平台上运行。 该接口需要以下配置的软件包: 网络服务器(Apache,nginx,xampp) 数据库(MySQL或PostgreSQL) PHP 5.6以上 linux shell的基础知识(如果您使用的
入门 pom.xml < groupId>com.github.lazaronixon</ groupId> < artifactId>active-persistence < version>0.0.31 模型/User.java @Entity public class User extends BaseIdentity { private String name;...
1.15 应用编程接口 12 1.16 测试网络 13 1.17 小结 13 第2章 链路层 15 2.1 引言 15 2.2 以太网和IEEE 802封装 15 2.3 尾部封装 17 2.4 SLIP:串行线路IP 17 2.5 压缩的SLIP 18 2.6 PPP:点对点协议 18 2.7 环回接口...
入门 通过运行以下命令克隆 repo 并启动服务器: npm install grunt 运行测试 先决条件: Mongodb 已安装并在 localhost 中运行。 服务器在单独的终端中运行 打开一个新终端并运行: npm test 应用程序接口 ...
#inquery提供给我们的内容是Lemur项目搜索引擎(Indri和Galago)的“杀手级应用”。 我们如何使它更小,更便携,对研究人员更有用? 将其与后端分开。 该项目处于非常早期的Alpha状态: 我还没有开放它的真正意图...
1. Hibernate入门 1.1. 前言 1.2. 第一部分 - 第一个Hibernate应用程序 1.2.1. 第一个class 1.2.2. 映射文件 1.2.3. Hibernate配置 1.2.4. 用Ant构建 1.2.5. 启动和辅助类 1.2.6. 加载并存储对象 1.3. 第...
1. Hibernate入门 1.1. 前言 1.2. 第一部分 - 第一个Hibernate应用程序 1.2.1. 第一个class 1.2.2. 映射文件 1.2.3. Hibernate配置 1.2.4. 用Ant构建 1.2.5. 启动和辅助类 1.2.6. 加载并存储对象 1.3. 第...