加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

DBUnit的使用之數據庫數據導出

发布时间:2020-12-13 17:47:35 所属栏目:百科 来源:网络整理
导读:笔者在本空间中《DBUnit的原理》提到DBUnit的原理,其第一步的任務是把數據庫裏的數據以XML的格式導出來;本來XML就是可以當數據庫使用的,相當於,將數據庫中設計好的測試數據先導出至XML數據庫暫存起來,以備在單元測試用例咝星皩祿䦷旎謴椭猎O計好的測

笔者在本空间中《DBUnit的原理》提到DBUnit的原理,其第一步的任務是把數據庫裏的數據以XML的格式導出來;本來XML就是可以當數據庫使用的,相當於,將數據庫中設計好的測試數據先導出至XML數據庫暫存起來,以備在單元測試用例咝星皩祿䦷旎謴椭猎O計好的測試數據狀態。

本篇志在講述將設計好的測試數據導出的兩種方式。

一 腳本式導出
將下面這段代碼置於ANT腳本的某一任務腳本中:
<dbunitdriver="com.vendor.jdbc.Driver"url="jdbc:vendor:mydatabase"userid="user"password="password">
<export
dest="export.xml"/>
</
dbunit>
執行該項任務後就會將數據庫的當前全部數據導出至export.xml文件中。
二 編程式導出
此項方式是通過編碼的方式將當前數據庫的數據導出至XML文件。本文將以PostgreSQL數據庫舉例。
1. 獲取當前數據庫連接
既然是要將當前數據庫的數據庫導出,第一步當然是獲取當前數據庫的Connection对象:
Connectionconn=DriverManager.getConnection(“jdbc:postgresql://localhost:5432/databasename”,“username”,“pwd”);
2.
获取DataBaseConnection对象

IDatabaseConnection connection = new DatabaseConnection ( conn );

//该对象是DBUnitConnection对象的封装。
3.
配置DBUnitDatabaseConfig

DatabaseConfigconfig=connection.getConfig();config.setProperty(config.PROPERTY_DATATYPE_FACTORY,newPostgresqlDataTypeFactory()); 4. 獲取數據集對象 QueryDataSet queryDS = new QueryDataSet(connection); 5. 將數據表添加至數據集對象 queryDS.addTable(tableName1); queryDS.addTable(tableName2); ... 6. 生成XML數據文件 FlatXmlDataSet.write(queryDS,new FileOutputStream(scriptName)); ------------------------------------ 兩種方式的比較: 第一種方式: 優點:比較簡便,一次即可導出庫中所有的數據。 缺點:不靈活,不能針對單個表或某些表導出數據 第二種方式: 優點:比較靈活,可以針對某個表、某些表或全部數據表導出其對應的XML文件。在大部分單元測試中,某一個測試類只針對一兩個表進行測試,這個時候如果執行每一個單元測試用例前就將數據的全部的表恢復至已知狀態,顯而易見,我們做了無用功。 缺點:不如腳本式導出簡便,要寫一個帶主函數的類針對某些表分別導出測試數據。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读