基本查询
@Test
//Criteria查询所有对象
public void test(){
Session s = HibernateUtils.openSession();
Transaction tx = s.beginTransaction();
Criteria c = s.createCriteria(Customer.class);
List<Customer> list = c.list();
System.out.println(list);
tx.commit();
s.close();
}
条件查询
@Test
//Criteria条件查询
/*
> gt
>= ge
< lt
<= le
== eq
!= ne
in in
between and between
like like
is not null is not null
is null is null
or or
and and
*/
public void test2(){
Session s = HibernateUtils.openSession();
Transaction tx = s.beginTransaction();
Criteria c = s.createCriteria(Customer.class);
c.add(Restrictions.eqOrIsNull("cust_id", 1l));
Customer un = (Customer) c.uniqueResult();
System.out.println(un);
tx.commit();
s.close();
}
分页查询
@Test
//分页查询
public void test3(){
Session s = HibernateUtils.openSession();
Transaction tx = s.beginTransaction();
Criteria c = s.createCriteria(Customer.class);
c.setFirstResult(0);
c.setMaxResults(1);
List<Customer> list = c.list();
System.out.println(list);
tx.commit();
s.close();
}
聚合函数
@Test
//查询总记录数
public void test4(){
Session s = HibernateUtils.openSession();
Transaction tx = s.beginTransaction();
Criteria c = s.createCriteria(Customer.class);
c.setProjection(Projections.rowCount());
long list = (Long) c.uniqueResult();
System.out.println(list);
tx.commit();
s.close();
}
}
排序查询
//排序语句
public void test4(){
Session session = HibernateUtils.openSession();
Transaction tx = session.beginTransaction();
Criteria c = session.createCriteria(Customer.class);
c.addOrder(Order.asc("cust_id"));
List list = c.list();
System.out.println(list);
tx.commit();
session.close();
}