话不多说直接上代码
/**
* 4.QBC查询全部
*/
@Test
public void testSelect1() {
//获取session对象
Session session = HibernateUtils.getSession();
//开启事务
Transaction tx = session.beginTransaction();
//写具体逻辑crud(增删改查)操作
//1创建Criteria对象 createCriteria()在hibernate5.2之后过时了
// Criteria criteria = session.createCriteria(Student.class);
// List<Student> list = criteria.list();
// for (Student student : list) {
// System.out.println(student);
// }
//新的查询方式
//1.创建CriteriaBuilder对象
//注意导入的包是import javax.persistence.criteria.CriteriaQuery;
CriteriaBuilder criteriaBuilder = session.getCriteriaBuilder();
//2.获取CriteriaQuery对象
CriteriaQuery<Student> createQuery = criteriaBuilder.createQuery(Student.class);
//3.指定根条件
createQuery.from(Student.class);
//4执行查询
List<Student> List = session.createQuery(createQuery).getResultList();
for (Student student : List) {
System.err.println(student);
}
//提交事务
tx.commit();
// 关闭资源
HibernateUtils.close();
}
模糊查询
/**
* 4.QBC查询
* 模糊查询
*/
@Test
public void testSelect2() {
//获取session对象
Session session = HibernateUtils.getSession();
//开启事务
Transaction tx = session.beginTransaction();
//写具体逻辑crud(增删改查)操作
//新的查询方式
//1.创建CriteriaBuilder对象
//注意导入的包是import javax.persistence.criteria.CriteriaQuery;
CriteriaBuilder criteriaBuilder = session.getCriteriaBuilder();
//2.获取CriteriaQuery对象
CriteriaQuery<Student> createQuery = criteriaBuilder.createQuery(Student.class);
//3.指定根条件
Root<Student> root = createQuery.from(Student.class);
//root.get("name") "name"是实体类的属性名称
createQuery.where(criteriaBuilder.like(root.get("name"), "%三%"));
//4执行查询
List<Student> List = session.createQuery(createQuery).getResultList();
for (Student student : List) {
System.err.println(student);
}
//提交事务
tx.commit();
// 关闭资源
HibernateUtils.close();
}