映射文件,核心文件,實體類,工具類的內容都不變直接看測試方法中的代碼:

1 package com.yinfu.test; 2 3 4 import java.util.List; 5 6 import org.hibernate.Query; 7 import org.hibernate.Session; 8 import org.hibernate.SessionFactory; 9 import org.hibernate.Transaction; 10 import org.junit.Test; 11 12 import com.yinfu.entity.User; 13 import com.yinfu.utils.HibernateUtils; 14 15 public class HibernateQueryTest { 16 17 @Test 18 public void queryTest() { 19 SessionFactory sessionFactory = null; 20 Session session = null; 21 Transaction tx = null; 22 try { 23 sessionFactory = HibernateUtils.getSessionFactory(); 24 session = sessionFactory.openSession(); 25 tx = session.beginTransaction(); 26 27 //1:創建query對象,方法里面寫hql語句 28 Query query = session.createQuery("from User"); 29 //2:利用query對象中的方法得到結果 30 List<User> list = query.list(); 31 System.out.println(list); 32 33 tx.commit(); 34 } catch (Exception e) { 35 e.printStackTrace(); 36 tx.rollback(); 37 }finally{ 38 session.close(); 39 sessionFactory.close(); 40 } 41 } 42 43 }
輸出結果:
映射文件,核心文件,實體類,工具類的內容都不變直接看測試方法中的代碼:

1 package com.yinfu.test; 2 3 4 import java.util.List; 5 6 import org.hibernate.Criteria; 7 import org.hibernate.Query; 8 import org.hibernate.Session; 9 import org.hibernate.SessionFactory; 10 import org.hibernate.Transaction; 11 import org.junit.Test; 12 13 import com.yinfu.entity.User; 14 import com.yinfu.utils.HibernateUtils; 15 16 public class HibernateQueryTest { 17 18 @Test 19 public void criteriaTest() { 20 SessionFactory sessionFactory = null; 21 Session session = null; 22 Transaction tx = null; 23 try { 24 sessionFactory = HibernateUtils.getSessionFactory(); 25 session = sessionFactory.openSession(); 26 tx = session.beginTransaction(); 27 28 //1:創建query對象,方法里面實體類class 29 Criteria criteria = session.createCriteria(User.class); 30 //2:利用query對象中的方法得到結果 31 List<User> list = criteria.list(); 32 System.out.println(list); 33 34 tx.commit(); 35 } catch (Exception e) { 36 e.printStackTrace(); 37 tx.rollback(); 38 }finally{ 39 session.close(); 40 sessionFactory.close(); 41 } 42 } 43 44 }
輸出結果:
映射文件,核心文件,實體類,工具類的內容都不變直接看測試方法中的代碼:(這樣輸出的默認是數組型集合,不是對象型集合)

1 package com.yinfu.test; 2 3 4 import java.util.List; 5 6 import org.hibernate.Criteria; 7 import org.hibernate.Query; 8 import org.hibernate.SQLQuery; 9 import org.hibernate.Session; 10 import org.hibernate.SessionFactory; 11 import org.hibernate.Transaction; 12 import org.junit.Test; 13 14 import com.yinfu.entity.User; 15 import com.yinfu.utils.HibernateUtils; 16 17 public class HibernateQueryTest { 18 19 @Test 20 public void sqlQueryTest() { 21 SessionFactory sessionFactory = null; 22 Session session = null; 23 Transaction tx = null; 24 try { 25 sessionFactory = HibernateUtils.getSessionFactory(); 26 session = sessionFactory.openSession(); 27 tx = session.beginTransaction(); 28 29 //1:創建query對象,方法里面是普通的SQL語句 30 SQLQuery sqlQuery = session.createSQLQuery("select * from t_user"); 31 //2:利用sqlQuery對象中的方法得到結果 32 //返回list對象,默認list中的每部分都是數組結構 33 List list = sqlQuery.list(); 34 System.out.println(list); 35 36 tx.commit(); 37 } catch (Exception e) { 38 e.printStackTrace(); 39 tx.rollback(); 40 }finally{ 41 session.close(); 42 sessionFactory.close(); 43 } 44 } 45 46 }
此時的結果是:
裝換成對象型集合:

1 package com.yinfu.test; 2 3 4 import java.util.List; 5 6 import org.hibernate.Criteria; 7 import org.hibernate.Query; 8 import org.hibernate.SQLQuery; 9 import org.hibernate.Session; 10 import org.hibernate.SessionFactory; 11 import org.hibernate.Transaction; 12 import org.junit.Test; 13 14 import com.yinfu.entity.User; 15 import com.yinfu.utils.HibernateUtils; 16 17 public class HibernateQueryTest { 18 19 @Test 20 public void sqlQueryTest() { 21 SessionFactory sessionFactory = null; 22 Session session = null; 23 Transaction tx = null; 24 try { 25 sessionFactory = HibernateUtils.getSessionFactory(); 26 session = sessionFactory.openSession(); 27 tx = session.beginTransaction(); 28 29 //1:創建query對象,方法里面是普通的SQL語句 30 SQLQuery sqlQuery = session.createSQLQuery("select * from t_user"); 31 //2:設置數據放到哪個對象中去 32 sqlQuery.addEntity(User.class); 33 //3:利用sqlQuery對象中的方法得到結果 34 //返回list對象,默認list中的每部分都是數組結構 35 List<User> list = sqlQuery.list(); 36 System.out.println(list); 37 38 tx.commit(); 39 } catch (Exception e) { 40 e.printStackTrace(); 41 tx.rollback(); 42 }finally{ 43 session.close(); 44 sessionFactory.close(); 45 } 46 } 47 48 }
輸出結果: