hibernate中查询条件使用

本文详细介绍了在Hibernate中如何利用SimpleExpression和Restrictions来构建复杂的查询条件,包括各种比较运算符、逻辑运算符以及特殊条件如等于null、不等于null和字符串匹配等,并展示了如何进行分页和排序,最终执行查询获取数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

hibernate中经常用到带多个参数的查询条件语句,如果悲催的使用语句的拼写成hql查询语句就浪费了轻量级持久层框架了,也不是面向对象化操作数据库了。

 

在这里hibernate提供了SimpleExpression来存放查询的条件,Restrictions。

 

List<SimpleExpression> expressions = new ArrayList<SimpleExpression>();

创建SimpleExpression的集合来存放所有的查询条件。

 

expressions.add(Restrictions.qt("quartzdate",params));//注意参数1是实体对应的字段(不是数据库字段),参数2是从前台传来的查询参数。

 

Restrictions使用:

 

Restrictions.eq()    等于

Restrictions.ne()    不等于

Restrictions.gt()     大于

Restrictions.ge()    大于等于

Restrictions.lt()      小于

Restrictions.le()     小于等于

Restrictions.isnull  等于null

Restrictions.isNotNull()  不等于null

Restrictions.like()   字符串匹配

Restrictions.and()  逻辑与

Restrictions.or()     逻辑或

Restrictions.not()   逻辑非

Restrictions.in()      等于列表中的值

Restrictions.not(Restrictions.in())  不等于任何一个

Restrictions.between()  在两者之间

 

 

Criteria criteria = getSession().createCriteria(Feedback.class);

取得 Criteria ;代表一次查询。

Criterion:代表一个查询条件。

Restrictions:产生查询条件的工具类。

 

criteria.setMaxResults(count).setFirstResult(start);//分页

 

for(SimpleExpression exp:expressions ){//添加查询条件

criteria.add(exp);

}

 

criteria.addOrder(Order.desc("createOn"));//添加排序条件

 

return criteria.list();//执行数据查询

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值