// ( select e.*, rownum rn from ( select * from emp ) e where rownum <= 10 )
// where rn > 1
@Test
public void test_pagination() {
int pageNo = 1; // 当前页数
int pageSize = 5; // 每页显示条数
SessionFactory sessionFactory = HibernateUtil.getSessionFactory();
Session session = sessionFactory.openSession();
String hql = "from Emp";
Query query = session.createQuery(hql);
query.setFirstResult((pageNo - 1) * pageSize);
query.setMaxResults(pageSize);
query.setCacheable(true); // 设置缓存
List
show(list);
session.close();
}
/** 查询结果是唯一值 */
@Test
public void test_uniqueResult() {
SessionFactory sessionFactory = HibernateUtil.getSessionFactory();
Session session = sessionFactory.openSession();
String hql = "from Emp where empno=7369";
Query query = session.createQuery(hql);
Emp emp = (Emp) query.uniqueResult();
System.out.println(emp);
session.close();
}
/** 投影查询 */
@Test
public void test_projection1() {
SessionFactory sessionFactory = HibernateUtil.getSessionFactory();
Session session = sessionFactory.openSession();
String hql = "select empno from Emp"; // 查询单值
Query query = session.createQuery(hql);
List
for (Integer empno : list) {
System.out.println(empno);
}
session.close();
}
@Test
public void test_projection2() {
SessionFactory sessionFactory = HibernateUtil.getSessionFactory();
Session session = sessionFactory.openSession();
String hql = "select empno,ename,hiredate,sal from Emp"; // 查询多值
Query query = session.createQuery(hql);
List