1. 程式人生 > >Hibernate之Query接口的uniqueResult()方法

Hibernate之Query接口的uniqueResult()方法

size 有一個 span factor reat list() println ont begin

如果查詢返回多個值用list()方法

 1 public void testQuery(){  
 2         Configuration config = new Configuration().configure();  
 3         SessionFactory factory = config.buildSessionFactory(); //創建SessionFactory   
 4         Session session = factory.openSession();        //創建Session   
 5         session.beginTransaction();                     //
開始事務 6 7 Query query = session.createQuery("from Student"); 8 List list = query.list(); // 用list方法返回多個值 9 //List list = session.createQuery("from Student").list(); 10 for(int i=0;i<list.size();i++){ 11 Student student = (Student)list.get(i);
12 System.out.print(student.getId()+" "); 13 System.out.print(student.getName()+" "); 14 System.out.print(student.getSex()+" "); 15 System.out.print(student.getBirthday()); 16 System.out.println(); 17 } 18 19
session.getTransaction().commit(); //提交事務 20 session.close(); //關閉Session 21 }

當確定返回的實例只有一個或者null時 用uniqueResult()方法

 1 public void testGet(){  
 2         Configuration config = new Configuration().configure();  
 3         SessionFactory factory = config.buildSessionFactory();  
 4         Session session = factory.openSession();  
 5         session.beginTransaction();  
 6           
 7         Query query = session.createQuery("from Student s where s.id=?");  
 8         query.setString(0, "2");  
 9         Student student = (Student)query.uniqueResult();  //當確定返回的實例只有一個或者null時 用uniqueResult()方法   
10         //Student student = (Student)session.createQuery("from Student s where s.id=?").setString(0,"5").uniqueResult();   
11           
12         System.out.println(student.getName());  
13         System.out.println(student.getBirthday());  
14           
15       
16         session.getTransaction().commit();  
17         session.close();  
18     }  

Hibernate之Query接口的uniqueResult()方法