Criteria查询接口(做条件查询非常合适)
写两个例子:
/**
* 按条件的查询,写法很麻烦,但是开发中用的挺多
*/
@Test
public void testCriteria2() {
Session session = HibernateUtils.getSession();
Transaction tx = session.beginTransaction();
// 先获取到Criteria接口
Criteria criteria = session.createCriteria(User.class);
// 添加条件的查询:select * from t_user where age > 18
// Criterion是hibernate提供的条件查询的对象,想传入条件的话,使用工具类Restrictions
// Restrictions提供静态的方法,拼接查询的条件
criteria.add(Restrictions.gt("age", 25));
// 继续添加条件
criteria.add(Restrictions.like("name", "%xiao%"));
List<User> list = criteria.list();
for (User user : list) {
System.out.println(user);
}
tx.commit();
session.close();
}
/**
* Criteria查询接口(做条件查询非常合适)
*/
@Test
public void testCriteria() {
Session session = HibernateUtils.getSession();
Transaction tx = session.beginTransaction();
// 先获取到Criteria接口
Criteria criteria = session.createCriteria(User.class);
// 没有添加条件,查询所有的数据
List<User> list = criteria.list();
for (User user : list) {
System.out.println(user);
}
tx.commit();
session.close();
}
源码下载