Hibernate之Criteria查询及注解
程序员文章站
2024-03-02 18:26:58
...
1. 前言
之前从来没有接触过Hibernate,跳槽之后的公司使用的是Hibernate的Criteria查询。简单整理一下。
2.什么是Criteria查询QBC(Query By Criteria)
Criteria查询是Hibernate提供的另一种查询方式,比HQL更加面向对象的查询方式
2.1.基本用法
2.1.1.获取Criteria查询对象
Criteria criteria = session.createCriteria(Dept.class);
2.1.2.使用Restrictions添加查询条件
Criterion criterion = Restrictions.eq("deptno", 10);
criteria.add(criterion);
2.1.3.获取返回结果
List<Dept> depts = criteria.list();
for(Dept dept : depts){
system.out.peintln(dept.getDname());
}
代码可简化为
List<Dept> depts = session.createCriteria(Dept.class).add(Restrictions.eq("deptno", 10)).list();
3.Criteria条件查询
通过add(Restrictions.条件方法())来添加条件
- Restrictions的方法
- eq() 等于 ==
- ne() 不等于 <>
- gt() 大于 >
- ge() 大于等于 >=
- lt() 小于 <
- le() 小于等于 <=
- isNull() 是否为空
- isNotNull() 不为空
- in(“属性名”,“集合或数组”)
- Restrictions.not(Restrictions.in())
- between(“属性名”,值1,值2)
- Restrictions.not(Restrictions.between())
- allEq() 利用Map()来进行多个等于的限制
- and(条件1,条件2) 或conjunction()
- or或多个或disjunction()
- sqlRestriction用SQL限定查询
- like(“属性名”,“要匹配的值”,“字符匹配模式”)
- ilike忽略大小写
- ilike(“属性名”,“要匹配的值”,“字符匹配模式”)
- 字符匹配模式MatchMode
- START 以x开头
- END 以x结束
- ANYWHERE 包含有x的
- EXACT 精确匹配
查询出不包含auto开头的数据
cri.add(Restrictions.not(Restrictions.like("contractName", "auto", MatchMode.START)));
上一篇: 动态封装查询条件之原生SQL语句方式
推荐阅读
-
Spring Boot(五)之跨域、自定义查询及分页
-
JSP 开发之hibernate的hql查询多对多查询
-
Spring Boot(五)之跨域、自定义查询及分页
-
JSP 开发之hibernate的hql查询多对多查询
-
Hibernate查询之list/iterator 博客分类: hibernate学习笔记 HibernateSQLJVM
-
Atitit.Hibernate中Criteria使用总结and关联查询and按照子对象查
-
使用hibernate的criteria实现统计数量及多表查询
-
使用hibernate的criteria实现统计数量及多表查询
-
Hibernate之环境搭建及demo分享
-
浅谈hibernate之映射文件VS映射注解