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

(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)实现参数设定

转载于:https://www.cnblogs.com/Xuesk/p/6858361.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值