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

使用参数绑定的好处:

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

 

参数绑定的两种形式:

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

①参数以:冒号形式给出

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

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

 

②参数以?形式给出

List list = session.createQuery(from Student where id=? and age

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

 

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

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

 

你可能感兴趣的:(Java相关框架)