日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
簡單描述Hibernate單元測試

Hibernate還是比較常用的,于是我研究了一下Hibernate單元測試,在這里拿出來和大家分享一下,希望對大家有用。

本文介紹在Hibernate單元測試中最重要的就是要保持測試實例是獨立的。因為該方法仍然涉及數(shù)據(jù)庫,所以需要一種方法在每個Hibernate單元測試實例之前清理數(shù)據(jù)庫。在我的數(shù)據(jù)庫架構(gòu)中有四個表,所以我在TestSchemaz上編寫了reset()方法,該方法從使用JDBC的表中刪除所有行。注意,因為HSQLDB能識別外鍵,刪除表的順序是很重要的,下面是代碼:

 
 
 
  1. public static void reset() throws SchemaException {  
  2. Session session = HibernateUtil.getSession();  
  3. try {  
  4. Connection connection = session.connection();  
  5. try {  
  6. Statement statement = connection.createStatement();  
  7. try {  
  8. statement.executeUpdate("delete from Batting");  
  9. statement.executeUpdate("delete from Fielding");  
  10. statement.executeUpdate("delete from Pitching");  
  11. statement.executeUpdate("delete from Player");  
  12. connection.commit();  
  13. }  
  14. finally {  
  15. statement.close();  
  16. }  
  17. }  
  18. catch (HibernateException e) {  
  19. connection.rollback();  
  20. throw new SchemaException(e);  
  21. }  
  22. catch (SQLException e) {  
  23. connection.rollback();  
  24. throw new SchemaException(e);  
  25. }  
  26. }  
  27. catch (SQLException e) {  
  28. throw new SchemaException(e);  
  29. }  
  30. finally {  
  31. session.close();  
  32. }  

當(dāng)確定在Hibernate 3.0中進(jìn)行大量刪除操作時,應(yīng)該能從應(yīng)用程序中刪除直接JDBC的***一位。到此時為止,必須獲取數(shù)據(jù)庫連接并向數(shù)據(jù)庫直接提交SQL。在確保沒有關(guān)閉連接的情況下,為了釋放資源,只關(guān)閉會話就足夠了。出于手工編寫許多JCBC代碼來進(jìn)行開發(fā)的習(xí)慣,***個版本關(guān)閉了JDBC連接。因為通過配置Hibernate創(chuàng)建的連接池只帶有一個鏈接,在***個之后就完全破壞了測試。一定要注意這種情況!既然在測試類運行時(設(shè)想運行所有的測試實例)不能確定數(shù)據(jù)庫的狀態(tài),應(yīng)該在setUp()方法中包含數(shù)據(jù)庫清除,如下所示:

 
 
 
  1. public void setUp() throws Exception {  
  2. TestSchema.reset();  

【編輯推薦】

  1. Hibernate類庫簡單描述
  2. 淺析Hibernate延遲加載
  3. Spring Hibernate簡單討論
  4. 介紹Hibernate版本的更新
  5. 簡單講述Hibernate實例

網(wǎng)站標(biāo)題:簡單描述Hibernate單元測試
標(biāo)題鏈接:http://www.dlmjj.cn/article/dpjdhgs.html