/*
* 离线查询
* 在多条件查询的时候需要在web层封装相应的参数到Criteria,而在Dao层才真正去执行查询数据库的操作,所以需要在web层
* 创建Criteria并将其传递到Dao层,这个时候就不能在web层使用session.createCriteria()创建criteria,因为criteria
* 一般创建都是使用session.createCriteria(),而session都是在Dao层才会创建
*/
@Test;
public void test14(){
DetachedCriteria criteria = DetachedCriteria.forClass(Student.class);
criteria.add(Restrictions.eq("sname","赵云"));
Session session = HibernateUtil.openSession();
Transaction tx = session.beginTransaction();
Criteriac1 = criteria.getExecutableCriteria(session);
List<Student> list = c1.list();
System.out.println(list);
tx.commit();
session.close();
}
命名查询 需要在配置文件中配置<query>
@Test
public void test13(){
Session session = HibernateUtil.openSession();
Transaction tx = session.beginTransaction();
List<Orders> list = session.getNamedQuery("findAll").list();
System.out.println(list);
tx.commit();
session.close();
}
// 聚合函数 count()
max() min() sum()
@Test
public void test12(){
Session session = HibernateUtil.openSession();
Transaction tx = session.beginTransaction();
Long count = (Long) session.createQuery("select count(*) from Orders").uniqueResult();
System.out.println(count);
tx.commit();
session.close();
}
Hibernate检索方式 四
最新推荐文章于 2020-05-15 16:30:14 发布