您的位置:首页 > 其它

查询—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();

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: