hql语句进行参数绑定的两种方式

使用参数绑定的好处:

1.可读性提高 2.效果高3.防止sql注入漏洞

 

参数绑定的两种形式:

以查询年龄小于18岁的学生为例

①参数以:冒号形式给出

List<Student> list = session.createQuery(from Student where id=:i and age<:age).setString("i","1").setString("age","18").list();

这种绑定方式的setXxx方法的第一个参数只能是之前命名的参数,参数名可以随便起,但建议和原属性名一致

 

②参数以?形式给出

List<Student> list = session.createQuery(from Student where id=? and age<?).setString(0,"1").setString(1,"18").list();

这种绑定方式的setXxx方法的第一个参数表示?的位置,hql是从0开始的,而jdbc的预编译命令对象PreparedStatement的参数是从1开始的

 

③绑定参数时也可以分开来绑定

Query query = session.createQuery(from Student where id=? and age<?);

query.setString(0,"1");

query.setString(1,"18");

List<Student> list = query.list();

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值