hibernate criteria中Restrions的用法

为了方便以后查看,收录了一些常用的语句。

方法:Restrictions.eq 说明:判断值是否相等,相当于a=b

方法:Restrictions.allEq 说明:利用Map来进行多个等于的限制

方法:Restrictions.gt 说明:判断值是否大于,相当于a>b

方法:Restrictions.ge 说明:判断值是否大于或者等于,相当于a>=b

方法:Restrictions.lt 说明:判断值是否小于,相当于a<b

方法:Restrictions.le 说明:判断值是否小于或者等于,相当于a<=b

方法:Restrictions.between 说明:判断值是否介于某个范围之间,相当于id between(1,10)

方法:Restrictions.like 说明:判断值是否类似,相当于name like %'张'%,做模糊匹配时用

方法:Restrictions.in 说明:判断值是否在指定的值之内,相当于id in(1,2,3)

方法:Restrictions.and 说明:判断值是否同时满足多条件,相当于id=1 and name='张三'

方法:Restrictions.or 说明:判断值是否满足其中一个条件,相当于id=1 or name='张三'

下面举例用法:

Criteria criteria = getSession().createCriteria(User.class,"user");

查询User中name等于张三的记录

criteria.add(Restrictions.eq("user.name","张三"));

查询User中age大于18的记录

criteria.add(Restrictions.ge("user.age",18));

查询User中age小于100的记录

criteria.add(Restrictions.eq("user.age",100));

查询User中名字有张的记录

criteria.add(Restrictions.like("user.name",'%张%'));

查询User中年龄在18-100之间的记录

criteria.add(Restrictions.between("user.age",(18,100)));

查询User中叫张三和李四的记录

criteria.add(Restrictions.in("user.name",('张三','李四')));

查询User中既叫张三性别还是女的记录

criteria.add(Restrictions.and(Restrictions.eq("name","张三"),Restrictions.eq("gender","女")));

我没有写完,其实还有很多,大同小异,依葫芦画瓢即可。

最后返回集合即可

return criteria.list();

或者将集合按一定条件排序后再返回,下面是举例按照年龄大小降序

return criteria.addOrder(Order.desc("user.age")).list();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值