Hibernate动态查询(离线查询)

动态查询就是查询条件不确定的查询,或者说查询条件是根据用户传入的某些参数来生成的,在查询之前就已经生成了查询条件,hibernate中的查询条件一般都需要在取得session后才构造,而hibernate动态查询在取得session之前就已经构造好了查询条件,只是将查询条件作为参数传入到查询方法中,因此也叫离线查询,动态查询的条件可以在web层中就已经构造好了,例如servlet中,构造查询条件的方式如下:
DetachedCriteria dc=DetachedCriteria.forClass(User.class);
String name=request.getParameter("name");//接收参数
dc.add(Restrictions.eq("name",name));//此为约束条件,等于是用eq,还可以根据需要设置成大于小于等等
List users=dc(dc);//调用实现方法

实现查询方法如下:
public List dc(DetachedCriteria dc){
Session s=HibernateUtil.getSession();//取得session
Criteria c=dc.getExecutableCriteria(s);
List list=c.list();
s.close();
return list;
}
上面的方法就可以完成动态条件查询
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值