在上文中讲解了HQL查询和sql查询的一些基本技能,本篇将对HQL查询和原生sql查询的知识进行一些补充。
1.按照位置绑定参数
此时在HQL语句中 使用“?”占位符来定义参数位置,如:
此时在HQL语句中使用 “:参数名字”(英文冒号+名字)的形式定义参数,如:
一、参数绑定
无论是HQL查询还是SQL查询还是讲要讲到的命名查询,都支持两种参数绑定形式——按位置、按名称绑定(以下均以hql查询为例)1.按照位置绑定参数
此时在HQL语句中 使用“?”占位符来定义参数位置,如:
Query query=session.createQuery("from Dept where deptno=?");
传递的时候以setXXX()的形式来传递,参数位置从0开始:
//参数是什么类型的就调用set类型的方法
query.setInteger(0,20);
//...省略
2.按照命名绑定参数
此时在HQL语句中使用 “:参数名字”(英文冒号+名字)的形式定义参数,如:
Query query=session.createQuery("from Dept where deptno=:deptNo");
传递的时候还是以setXXX()的形式传递,此时就不是按位置了:
query.setInteger("deptNo",