1. 程式人生 > >Hibernate學習之路(七)

Hibernate學習之路(七)

oid bject 需要 .com build action logs 結果 gin

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學習之路(七)