Hibernate的查询方法(2动态参数绑定查询)
程序员文章站
2022-04-15 22:13:30
...
动态参数绑定查询,即参数的值是由代码传递来的,并非在查询中就已经固定
SQL查询
(一)使用”?”占位符
使用"?"占位符站位,setXx()进行参数绑定,setXx(int position,Object value))
setXx():参数的类型
position:表示第几个占位符,从开始计数.
String sql="select *from student where age>?and score<?";
List<Student> students=session.createSQLQuery(sql).addEntity(Student .class).setInteger(0,18).setDouble(1,98).list();
(二)使用别名占位
使用别名占位,setXx()进行参数绑定,setXx(String name,Object value))
别名任意名称,冒号后跟别名
String sql="select *from student where age>:tage and score<:score";
List<Student> Student =session.createSQLQuery(sql).addEntity(Student .class).setInteger("tage",18).setDoubble("score",98).list();
(三)使用?占位符,setParamter()绑定参数
SetParameter(int position,Object value)
position 表示第几个占位符,从0开始计数
String sql = "select *from student where age>? and score <?";
List<Student> students = session.createSQLQuery(sql).addEntity(Student.class).setParameter(0,20).setParameter(1,98).list();
Hibernate的sql查询
在hibernate中使用动态查询,以上的方法均可成立,且用法相同
使用"?"占位符
使用"?"占位符站位,setXx()进行参数绑定,setXx(int position,Object value))
setXx():参数的类型
position:表示第几个占位符,从开始计数.
String hql="from Student where age>?and score<?";
List<Student> students=session.createSQLQuery(hql).addEntity(Student .class).setInteger(0,18).setDouble(1,98).list();
上一篇: 多对一关联映射