這篇文章主要介紹“Hibernate單元測試怎么實現(xiàn)”,在日常操作中,相信很多人在Hibernate單元測試怎么實現(xiàn)問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Hibernate單元測試怎么實現(xiàn)”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!
創(chuàng)新互聯(lián)2013年開創(chuàng)至今,先為蒙山等服務(wù)建站,蒙山等地企業(yè),進行企業(yè)商務(wù)咨詢服務(wù)。為蒙山企業(yè)網(wǎng)站制作PC+手機+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。
本文介紹在Hibernate單元測試中最重要的就是要保持測試實例是獨立的。因為該方法仍然涉及數(shù)據(jù)庫,所以需要一種方法在每個Hibernate單元測試實例之前清理數(shù)據(jù)庫。在我的數(shù)據(jù)庫架構(gòu)中有四個表,所以我在TestSchemaz上編寫了reset()方法,該方法從使用JDBC的表中刪除所有行。注意,因為HSQLDB能識別外鍵,刪除表的順序是很重要的,下面是代碼:
public static void reset() throws SchemaException { Session session = HibernateUtil.getSession(); try { Connection connection = session.connection(); try { Statement statement = connection.createStatement(); try { statement.executeUpdate("delete from Batting"); statement.executeUpdate("delete from Fielding"); statement.executeUpdate("delete from Pitching"); statement.executeUpdate("delete from Player"); connection.commit(); } finally { statement.close(); } } catch (HibernateException e) { connection.rollback(); throw new SchemaException(e); } catch (SQLException e) { connection.rollback(); throw new SchemaException(e); } } catch (SQLException e) { throw new SchemaException(e); } finally { session.close(); } }
當確定在Hibernate 3.0中進行大量刪除操作時,應(yīng)該能從應(yīng)用程序中刪除直接JDBC的***一位。到此時為止,必須獲取數(shù)據(jù)庫連接并向數(shù)據(jù)庫直接提交SQL。在確保沒有關(guān)閉連接的情況下,為了釋放資源,只關(guān)閉會話就足夠了。出于手工編寫許多JCBC代碼來進行開發(fā)的習(xí)慣,***個版本關(guān)閉了JDBC連接。因為通過配置Hibernate創(chuàng)建的連接池只帶有一個鏈接,在***個之后就完全破壞了測試。一定要注意這種情況!既然在測試類運行時(設(shè)想運行所有的測試實例)不能確定數(shù)據(jù)庫的狀態(tài),應(yīng)該在setUp()方法中包含數(shù)據(jù)庫清除,如下所示:
public void setUp() throws Exception { TestSchema.reset(); }
到此,關(guān)于“Hibernate單元測試怎么實現(xiàn)”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>
文章標題:Hibernate單元測試怎么實現(xiàn)
文章鏈接:http://m.newbst.com/article2/gpgcoc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供服務(wù)器托管、小程序開發(fā)、網(wǎng)站收錄、靜態(tài)網(wǎng)站、外貿(mào)建站、軟件開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)