查询—criteria
2015-10-05 00:00
162 查看
摘要: 查询—criteria
因为criteria是面向对象的方式进行的查询,所以其中的查询涉及到的都是一些对象,而不是sql语句。
public class App {
private static SessionFactory sessionFactory = new Configuration()//
.configure()//
.addClass(Department.class)// 添加Hibernate实体类(加载对应的映射文件)
.addClass(Employee.class)// 添加Hibernate实体类(加载对应的映射文件)
.buildSessionFactory();
// 准备数据
@Test
public void testSave() throws Exception {
Session session = sessionFactory.openSession();
session.beginTransaction();
// --------------------------------------------
// 保存一些部门数据
for (int i = 1; i <= 10; i++) {
Department department = new Department();
department.setName("开发部_" + i);
session.save(department);
}
// 保存一些员工数据
for (int i = 1; i <= 20; i++) {
Employee employee = new Employee();
employee.setName("李XX_" + i);
session.save(employee);
}
// --------------------------------------------
session.getTransaction().commit();
session.close();
}
// 使用QBC方式查询:Query By Criteria
@Test
public void testQBC() throws Exception {
Session session = sessionFactory.openSession();
session.beginTransaction();
// --------------------------------------------
// 创建Criteria对象
Criteria criteria = session.createCriteria(Employee.class);
// 增加过滤条件
criteria.add(Restrictions.ge("id", 1));
criteria.add(Restrictions.le("id", 5));
// 增加排序条件
criteria.addOrder(Order.desc("name"));
criteria.addOrder(Order.desc("id"));
// 执行查询
// criteria.setFirstResult(0);
// criteria.setMaxResults(100);
// criteria.uniqueResult();
// criteria.list()
List list = criteria.list();
// 显示结果
for (Object obj : list) {
if (obj.getClass().isArray()) {
System.out.println(Arrays.toString((Object[]) obj));
} else {
System.out.println(obj);
}
}
// --------------------------------------------
session.getTransaction().commit();
session.close();
}
}
因为criteria是面向对象的方式进行的查询,所以其中的查询涉及到的都是一些对象,而不是sql语句。
public class App {
private static SessionFactory sessionFactory = new Configuration()//
.configure()//
.addClass(Department.class)// 添加Hibernate实体类(加载对应的映射文件)
.addClass(Employee.class)// 添加Hibernate实体类(加载对应的映射文件)
.buildSessionFactory();
// 准备数据
@Test
public void testSave() throws Exception {
Session session = sessionFactory.openSession();
session.beginTransaction();
// --------------------------------------------
// 保存一些部门数据
for (int i = 1; i <= 10; i++) {
Department department = new Department();
department.setName("开发部_" + i);
session.save(department);
}
// 保存一些员工数据
for (int i = 1; i <= 20; i++) {
Employee employee = new Employee();
employee.setName("李XX_" + i);
session.save(employee);
}
// --------------------------------------------
session.getTransaction().commit();
session.close();
}
// 使用QBC方式查询:Query By Criteria
@Test
public void testQBC() throws Exception {
Session session = sessionFactory.openSession();
session.beginTransaction();
// --------------------------------------------
// 创建Criteria对象
Criteria criteria = session.createCriteria(Employee.class);
// 增加过滤条件
criteria.add(Restrictions.ge("id", 1));
criteria.add(Restrictions.le("id", 5));
// 增加排序条件
criteria.addOrder(Order.desc("name"));
criteria.addOrder(Order.desc("id"));
// 执行查询
// criteria.setFirstResult(0);
// criteria.setMaxResults(100);
// criteria.uniqueResult();
// criteria.list()
List list = criteria.list();
// 显示结果
for (Object obj : list) {
if (obj.getClass().isArray()) {
System.out.println(Arrays.toString((Object[]) obj));
} else {
System.out.println(obj);
}
}
// --------------------------------------------
session.getTransaction().commit();
session.close();
}
}
相关文章推荐
- xxx.hbm.xml文件详解(主键配置)
- 属性是集合的映射
- Balsamiq Mockups完全手册
- pom.xml报错的解决办法
- 安装Docker
- 下载Docker镜像
- 制作Docker镜像
- 华硕笔记本F80s解决声卡噪音问题
- arch 更新后,powerpill 报错 import pm2mp 问题
- 监控服务器:设置用户登录邮件提醒
- mysql悲观锁总结和实践
- mysql乐观锁总结和实践
- PHP下的session的生存周期
- linux安装weblogic
- 无损歌曲音乐转apple lossless
- ubuntu下helloworld
- Android 之shape
- Android 判断屏幕滑动
- Android开发者必须深入学习的10个应用开源项目
- Android中moveTo、lineTo、quadTo、cubicTo、arcTo详解(实例)