Hibernate框架(15) —— Hibernate中的批量查询概述之Criteria查询
2018-03-12 11:27
423 查看
引言:
1. 使用范围:单表查询2. 来源:Hibernate自创的无语句面向对象查询。
一、基本查询
public class Demo {@Test
public void function() {
//1.获得session
Sessionsession = HibernateUtils.openSession();
//2.打开事务
Transaction tx = session.beginTransaction();
//*********************************************
//3. 执行操作
创建criteria查询对象
Criteria criteria = session.createCriteria(Customer.class);
a 查询得到结果为多个,list拿到一个集合性质的结果
List<Customer> list = criteria.list();
或
b 查询得到结果为单个,uniqueResult拿到一个
Object uniqueResult = criteria.uniqueResult();
//**********************************************
//4. 提交事务
tx.commit();
//5.关闭资源
session.close();
}
}
二、条件查询
HQL语句中,不可能出现任何数据库相关的信息> | gt |
>= | ge |
< | lt |
<= | le |
== | eq |
!= | ne |
in | in |
between and | between |
like | like |
is not null | isNotNull |
is null | isNull |
or | or |
and | and |
@Test
public void function() {
//1.获得session
Session session = HibernateUtils.openSession();
//2.打开事务
Transaction tx = session.beginTransaction();
//*********************************************
//3. 执行操作
[b] 1 创建criteria查询对象
[/b]
Criteria criteria = session.createCriteria(Customer.class);
2 添加查询对象 ==》 查询cust_id为1的Customer对象
criteria.add(Restriction.eq(“cust_id”,1L));
3 执行查询获得结果
Customer c = (Customer)criteria.uniqueResult();
4 打印结果
System.out.println(c);
//**********************************************
//4. 提交事务
tx.commit();
//5.关闭资源
session.close();
b7e0
}
}
三、分页查询
public class Demo{@Test
public void function() {
//1. 获得session
Session session = HibernateUtils.openSession();
//2. 打开事务
Transaction tx = session.beginTransaction();
//*********************************************
//3. 执行操作
1 创建criteria查询对象
Criteria criteria = session.createCriteria(Customer.class);
2 设置分页信息,相当于limit ?, ?
criteria.setFirstResult(0);
criteria.setMaxResults(3);
3 执行查询
List<Customer> list = criteria.list();
//**********************************************
//4. 提交事务
tx.commit();
//5.关闭资源
session.close();
}
}
四、拓展:查询总记录数
public class Demo {@Test
public void function() {
//1.获得session
Session session = HibernateUtils.openSession();
//2.打开事务
Transaction tx = session.beginTransaction();
//*********************************************
//3. 执行操作
1 创建criteria查询对象
Criteria criteria = session.createCriteria(Customer.class);
2 设置查询的聚合函数 =》 总行数
criteria.setProjection(Projections.rowCount());
3 执行查询
Long count = (Long)criteria.uniqueResult();
System.out.println(count);
//**********************************************
//4. 提交事务
tx.commit();
//5.关闭资源
session.close();
}
}
相关文章推荐
- Hibernate框架学习(五)——批量查询(概述)
- 【SSH三大框架】Hibernate基础第四篇:Hibernate的两种查询方式:hql和Criteria
- hibernate框架学习笔记11:Criteria查询详解
- 第32天(就业班) hibernate框架概述、ORM概念、hibernate第一个实例、api讲解、查询方式、主配置文件、映射配置、主键映射
- Hibernate框架(六)Criteria和命名查询
- Hibernate框架(14) —— Hibernate中的批量查询概述之HQL查询
- Hibernate框架第二天(一级缓存、Query和Criteria查询接口)
- Hibernate框架查询方式概述
- hibernate框架_批量查询(简介)
- Java的Hibernate框架中Criteria查询使用的实例讲解
- Hibernate框架之HQL查询与Criteria 查询的区别
- 框架学习之Hibernate 第五节 HQL和Criteria查询入门
- Hibernate框架之Criteria查询
- Hibernate框架中Criteria的示例查询问题
- hibernate框架学习笔记7:HQL查询、Criteria查询简介
- hibernate criteria 和restriction 查询
- hibernate框架的查询方式QBC(二十)
- Hibernate Criteria查询
- atitit. 统计功能框架的最佳实践(1)---- on hibernate criteria
- Hibernate里面如何用Criteria 查询记录数