亚洲好骚综合-亚洲黄色录像-亚洲黄色网址-亚洲黄色网址大全-99久久99久久-99久久99久久精品国产

您的位置:軟件測試 > 開源軟件測試 > 開源單元測試工具 > DBunit
如何使用DBUnit做數據備份恢復
作者:網絡轉載 發布時間:[ 2013/3/13 16:33:03 ] 推薦標簽:

用DBUnit 做數據備份恢復工具

DBunit(http://dbunit.sourceforge.net/ )是一個非常好的數據庫unit系列工具,一般都是用它在測試的時候管理數據庫。我們可以發揮一下,用它做一個備份和恢復的數據庫管理工具。

以mysql為例,正好現在還沒有找一個好用的mysql備份和恢復工具。這個是在代碼中管理不是用ant的方式。

主要是用到核心組件:IDatabaseConnection、IDataSet、DatabaseOperation 。

先看代碼:
   /**
     * 導出數據到指定文件
     * @param file 一個標準的java.io.File
     * @param connection  一個標準的java.sql.Connection
     * @throws org.dbunit.DatabaseUnitException
     */
    public static void exportRoom(File file, Connection connection) throws DatabaseUnitException, IOException {
        IDatabaseConnection databaseConnection = new DatabaseConnection(connection);
        QueryDataSet dataSet = new QueryDataSet(databaseConnection);
        dataSet.addTable("room");
        Writer writer = new FileWriter(file);
        XmlDataSetWriter w = new XmlDataSetWriter(writer);
        w.write(dataSet);
        writer.flush();
        writer.close();
    }
在這個方法中指定了一個表名"room",如果有多個表可以通過參數或其他的方式按照這種方式繼續增加。這個文件是XML格式的。具體格式說明或其他格式參見http://dbunit.sourceforge.net/components.html#databaseconnection

    /**
     * 導入數據到ROOM表
     * @param file  一個標準的java.io.File
     * @param connection 一個標準的java.sql.Connection
     */
    public static void importRoom(File file, Connection connection) throws DatabaseUnitException, IOException, SQLException {
        IDataSetProducer dataSetProducer = new XmlProducer(FileHelper.createInputSource(file));
        IDataSet dataSet = new CachedDataSet(dataSetProducer);
        IDatabaseConnection databaseConnection = new DatabaseConnection(connection);
        DatabaseOperation operation = DatabaseOperation.CLEAN_INSERT;
        DatabaseOperation.TRANSACTION(operation);
        operation.execute(databaseConnection, dataSet);
        DatabaseOperation.CLOSE_CONNECTION(operation);
    }
這個方法可以把上面生成的XML文件導入到數據庫中,如果是其他格式的文件只需要更換IDataSetProducer的實現類可以了。具體格式請參見APIDOC
在這個方法里使用了事務控制,保證數據的一致性。

有了這兩個方法我們可以再發揮一下,然后為客戶提供一個備份恢復數據的工具了。如果再加入壓縮文件的支持更加完美了。

軟件測試工具 | 聯系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網站地圖
滬ICP備07036474 2003-2017 版權所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd
主站蜘蛛池模板: 成人免费观看www在线 | 亚欧乱亚欧乱色视频免费 | 2021最新国产精品一区 | 黄色片地址 | 日本道在线视频 | 公又粗又长又大又深好爽日本 | 亚洲综合色秘密影院秘密影院 | 日韩欧美在 | 高清在线亚洲精品国产二区 | 欧美日韩在线高清 | 深夜福利片 | 黄色a视频| 欧美xxxxx69xxxx| 久爱www免费人成福利播放 | 欧美精品亚洲 | 日本一区二区三区中文字幕 | 国产精品日日爱 | 人人做人人爽人人爱秋霞影视 | 黄色免费影视 | 国产综合激情在线亚洲第一页 | 在线a亚洲视频播放在线观看 | 国产1区2区3区在线观看 | 五月天婷婷免费观看视频在线 | 一级福利视频 | 一级一级人与动毛片 | 中文字幕亚洲一区二区va在线 | 国产精品免费一区二区三区 | 国产真实乱偷人视频 | 免费老色鬼永久视频网站 | 日日操综合| 亚洲日韩中文字幕在线播放 | 色欲麻豆国产福利精品 | 欧美日韩亚洲二区在线 | 日本香蕉视频在线观看 | 国产观看精品一区二区三区 | 成人毛片免费 | 你懂的网站在线观看 | 美女一级a毛片免费观看 | 日韩精品一区二区三区不卡 | 日本高清一区二区三区水蜜桃 | 国产日韩欧美中文 |