// 简单查询
@Test
public void easyQuery() {
Session session = HibernateUtil.getSession();
Query query = session.createQuery("from Person");
List<Person> personList = query.list();
Person person = null;
for (int i = 0; i < personList.size(); i++) {
person = (Person) personList.get(i);
System.out.println(i + "--" + person);
}
HibernateUtil.closeSession();
}
//属性查询
@Test
public void QueryPersonId(){
Session session = HibernateUtil.getSession();
Query query = session.createQuery("select p.person_name from Person p");
List personNameList = query.list();
for(int i=0;i<personNameList.size();i++)
{
String person_name =(String)personNameList.get(i);
System.out.println(i+"--"+person_name);
}
HibernateUtil.closeSession();
}
//实例化查询
@Test
public void entityQuery(){
Session session = HibernateUtil.getSession();
Query query = session.createQuery("select new Person(p.person_id,p.person_name,p.person_age,p.person_sex) from Person as p");
List personList = query.list();
for(int i=0;i<personList.size();i++)
{
Person person =(Person)personList.get(i);
System.out.println(i + "--" + person);
}
HibernateUtil.closeSession();
}
//统计查询
@Test
public void statisticsQuery(){
Session session = HibernateUtil.getSession();
// Query query = session.createQuery("select avg(p.age) from Person p");
Query query = session.createQuery("select count(*) from Person");
Object count = (Object)query.uniqueResult();
System.out.println("共有"+count+"条记录");
HibernateUtil.closeSession();
}
//子查询
//数量查询
@Test
public void QueryPersonById(){
Session session = HibernateUtil.getSession();
Query query = session.createQuery("from Person where person_id='1514010624'");
List<Person> personList = query.list();
Person person = null;
for (int i = 0; i < personList.size(); i++) {
person = (Person) personList.get(i);
System.out.println(i + "--" + person);
}
HibernateUtil.closeSession();
}
//按照性别分组展示平均年龄
@Test
public void queryBySex(){
Session session = HibernateUtil.getSession();
Query query = session.createQuery("select p.person_sex,avg(p.person_age) from Person p group by p.person_sex ");
List persons = query.list();
for(int i=0;i<persons.size();i++)
{
Object obj[] =(Object[])persons.get(i);
System.out.println("性别为"+obj[0]+"平均年龄"+obj[1]);
}
HibernateUtil.closeSession();
}
//查询所有大于平均年龄的所有用户
@Test
public void queryPersonThanAvgAge(){
Session session = HibernateUtil.getSession();
Query query = session.createQuery("from Person p where p.person_age>(select avg(person_age) from Person)");
List<Person> personList = query.list();
Person person = null;
for (int i = 0; i < personList.size(); i++) {
person = (Person) personList.get(i);
System.out.println(i + "--" + person);
}
HibernateUtil.closeSession();
}
hibernate各种简单查询和复杂查询
最新推荐文章于 2024-11-18 21:47:11 发布