Hibernate的查询方法(2动态参数绑定查询)

动态参数绑定查询,即参数的值是由代码传递来的,并非在查询中就已经固定

SQL查询

(一)使用”?”占位符

  使用"?"占位符站位,setXx()进行参数绑定,setXx(int position,Object value))
  setXx():参数的类型
  position:表示第几个占位符,从开始计数.
String sql="select *from student where age>?and score;
List 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 =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 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 students=session.createSQLQuery(hql).addEntity(Student .class).setInteger(0,18).setDouble(1,98).list();

你可能感兴趣的:(框架之Hibernate)