码迷,mamicode.com
首页 > 其他好文 > 详细

HQL参数绑定是几种?有什么不同?

时间:2017-05-15 22:18:20      阅读:124      评论:0      收藏:0      [点我收藏+]

标签:type   例子   三种方式   sel   pass   from   rom   类型   查询参数   

(1)占位符”?”
通过Query对象,使用“?”占位符,我们可以先设定查询参数,之后通过setType()方法设置指定的参数
需要注意的是,必须保证每个占位符都设置了参数值,而且必须依照“?”所设定顺序,使用对应参数类型的setType()方法设定。设置参数值时,下标从0开始,而不是使用PreparedStatment对象时的从1开始
(2)命名参数
例子:
“select user.password from User as user where user.name= :name”;
Query query = session.createQuery(hql);
query.setString(“name”,”admin”);
解释:
:name即命名参数,通过session.createQuery方法构造Query实例后,我们即可根据此参数进行参数值设定,设定方式与”?”占位符相同,只是下标换成了命名参数,从而不需要依照特定的顺序。
注意,“:”后面跟着参数名。

(3)封装参数
在查询条件很多的情况下,如果认为传递很多的参数不方便的话,Hibernate还提供了第三种方式,实现了动态设置查询参数,那就是将参数封装为一个bean,然后通过Query对象的setProperties(Object bean)实现参数设定

HQL参数绑定是几种?有什么不同?

标签:type   例子   三种方式   sel   pass   from   rom   类型   查询参数   

原文地址:http://www.cnblogs.com/Xuesk/p/6858361.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!