首页 > 代码库 > Hibernate学习之路(七)

Hibernate学习之路(七)

hql:hibernate query language   hibernate查询语言

1、单属性查询

 1     public void testQuery1(){
 2         //通过Configuration对象创建SessionFactory对象
 3         SessionFactory sf = new Configuration().configure().buildSessionFactory();
 4         //创建Session对象
 5         Session s = sf.openSession();
 6         //开启事务
 7         s.beginTransaction();
 8         
 9         //我们只需要关注这里的事务。
10         String sql = "select name from Student";
11         Query query = s.createQuery(sql);
12         //返回结果类型,根据查询的列决定
13         List<String> names = query.list();
14         for(String name: names){
15             System.out.println(name);
16         }
17         //提交事务
18         s.getTransaction().commit();
19         //关闭Session
20         s.close();
21         //关闭SessionFactory
22         sf.close();
23     }

2、多个属性查询

 1     public  void testQuery1(){
 2         //通过Configuration对象创建SessionFactory对象
 3         SessionFactory sf = new Configuration().configure().buildSessionFactory();
 4         //创建Session对象
 5         Session s = sf.openSession();
 6         //开启事务
 7         s.beginTransaction();
 8         
 9         //我们只需要关注这里的事务。
10         String sql = "select name,age from Student";
11         Query query = s.createQuery(sql);
12         //返回结果类型,根据查询的列决定
13         List<Object[]> list = query.list();
14         for(Object[] objs: list){
15             System.out.println(objs[0]+"---"+objs[1]);
16         }
17         //提交事务
18         s.getTransaction().commit();
19         //关闭Session
20         s.close();
21         //关闭SessionFactory
22         sf.close();
23     }

3、查询所有列

 1     public  void testQuery1(){
 2         //通过Configuration对象创建SessionFactory对象
 3         SessionFactory sf = new Configuration().configure().buildSessionFactory();
 4         //创建Session对象
 5         Session s = sf.openSession();
 6         //开启事务
 7         s.beginTransaction();
 8         
 9         //我们只需要关注这里的事务。
10         String sql = "from Student";
11         Query query = s.createQuery(sql);
12         //返回结果类型,根据查询的列决定
13         List<Student> list = query.list();
14         for(Student stu: list){
15             System.out.println(stu);
16         }
17         //提交事务
18         s.getTransaction().commit();
19         //关闭Session
20         s.close();
21         //关闭SessionFactory
22         sf.close();
23     }

4、条件查询

 1     public  void testQuery1(){
 2         //通过Configuration对象创建SessionFactory对象
 3         SessionFactory sf = new Configuration().configure().buildSessionFactory();
 4         //创建Session对象
 5         Session s = sf.openSession();
 6         //开启事务
 7         s.beginTransaction();
 8         
 9         //我们只需要关注这里的事务。
10         String sql = "from Student where id<?";
11         Query query = s.createQuery(sql);
12         query.setParameter(0, 2);
13         //返回结果类型,根据查询的列决定
14         List<Student> list = query.list();
15         for(Student stu: list){
16             System.out.println(stu);
17         }
18         //提交事务
19         s.getTransaction().commit();
20         //关闭Session
21         s.close();
22         //关闭SessionFactory
23         sf.close();
24     }

5、分页查询

 1     public  void testQuery1(){
 2         //通过Configuration对象创建SessionFactory对象
 3         SessionFactory sf = new Configuration().configure().buildSessionFactory();
 4         //创建Session对象
 5         Session s = sf.openSession();
 6         //开启事务
 7         s.beginTransaction();
 8         
 9         //我们只需要关注这里的事务。
10         String sql = "from Student";
11         Query query = s.createQuery(sql);
12         query.setFirstResult(0);
13         query.setMaxResults(5);
14         //返回结果类型,根据查询的列决定
15         List<Student> list = query.list();
16         for(Student stu: list){
17             System.out.println(stu);
18         }
19         //提交事务
20         s.getTransaction().commit();
21         //关闭Session
22         s.close();
23         //关闭SessionFactory
24         sf.close();
25     }

 

Hibernate学习之路(七)