只粘贴部分关键代码
1.简单查询
Session session = hibernateUtils.getCurrentSession();
Transaction transaction = session.beginTransaction();
Query query = session.createQuery("from Customer");
List<Customer> list = query.list();
for(Customer customer : list) {
System.out.println(customer);
}
transaction.commit();
2.条件查询
Session session = hibernateUtils.getCurrentSession();
Transaction transaction = session.beginTransaction();
// Query query = session.createQuery("from Customer where cust_name = ?");
Query query = session.createQuery("from Customer where cust_name = ? and cust_source like ?");
query.setParameter(0, "xxx");
query.setParameter(1, "a%");
List<Customer> list = query.list();
for(Customer customer : list) {
System.out.println(customer);
}
transaction.commit();
3.投影查询
Session session = hibernateUtils.getCurrentSession();
Transaction transaction = session.beginTransaction();
// Query query = session.createQuery("select c.cust_name from Customer c");
// Query query = session.createQuery("select c.cust_name,c.cust_source from Customer c");
Query query = session.createQuery("select new Customer(cust_name,cust_source) from Customer c");
// List<Object[]> list = query.list();
List<Customer> list = query.list();
for(Customer customer : list) {
System.out.println(customer);
}
transaction.commit();
4.分页查询
Session session = hibernateUtils.getCurrentSession();
Transaction transaction = session.beginTransaction();
Query query = session.createQuery(" from LinkMan");
query.setFirstResult(10);//从第几条开始查,比如这句话的意思是从第十一条开始查
query.setMaxResults(5);
List<LinkMan> list = query.list();
for(LinkMan man : list) {
System.out.println(man);
}
transaction.commit();
5.分组统计查询
Session session = hibernateUtils.getCurrentSession();
Transaction transaction = session.beginTransaction();
List<Object[]> list = session.createQuery("select lkm_name,count(*) from LinkMan group by lkm_name").list();
for(Object[] objects : list) {
System.out.println(Arrays.toString(objects));
}
transaction.commit();