Top / Java / DBUnit / XMLでImport,Exportする

さて、はじめにXMLファイルを使ったimport,exportをやってみます。

サンプルのテーブル定義

以下のテーブルに対して、import/exportをやってみます。

mysql> describe webdb1.rss1;
+---------+------------------+------+-----+---------------------+-------+
| Field   | Type             | Null | Key | Default             | Extra |
+---------+------------------+------+-----+---------------------+-------+
| ID      | varchar(4)       | NO   | PRI | NULL                |       |
| VERSION | int(10) unsigned | NO   |     | 0                   |       |
| TITLE   | varchar(256)     | YES  |     | NULL                |       |
| LINK    | varchar(256)     | YES  |     | NULL                |       |
| DATE1   | datetime         | NO   |     | 0000-00-00 00:00:00 |       |
+---------+------------------+------+-----+---------------------+-------+
5 rows in set (0.00 sec)
mysql>

データをXMLからインポートする

このテーブルにデータを入れるために以下のようなデータをxmlで作成しました。

<?xml version='1.0' encoding='UTF-8'?>
<dataset>
  <RSS1 ID="001" VERSION="0" TITLE="タイトル1" 
       LINK="http://www.masatom.in/pukiwiki/" DATE1="2006-09-13"/>
  <RSS1 ID="002" VERSION="0" TITLE="タイトル2" 
       LINK="http://www.masatom.in/pukiwiki/" DATE1="2006-09-13"/>
  <RSS1 ID="003" VERSION="0" TITLE="タイトル3" 
       LINK="http://www.masatom.in/pukiwiki/" DATE1="2006-09-13"/>
  <RSS1 ID="004" VERSION="0" TITLE="タイトル4" 
       LINK="http://www.masatom.in/pukiwiki/" DATE1="2006-09-13"/>
</dataset>

このデータをテーブルに挿入するには以下のようなAntタスクを実行します。

<target name="dbImport">
  <dbunit schema="webdb1" 
    driver="com.mysql.jdbc.Driver"
    url="jdbc:mysql://192.168.10.5/webdb1?useUnicode=true
         &amp;characterEncoding=ujis"
    userid="xxxxx" password="xxxxx">
    <operation type="INSERT" src="import.xml" />
  </dbunit>
</target>

実行後、select下結果は以下の通り。

mysql> select  * from webdb1.rss1;
+-----+---------+------------+---------------------------------+---------------------+
| ID  | VERSION | TITLE      | LINK                            | DATE1               |
+-----+---------+------------+---------------------------------+---------------------+
| 001 |       0 | タイトル1 | http://www.masatom.in/pukiwiki/ | 2006-09-13 00:00:00 |
| 002 |       0 | タイトル2 | http://www.masatom.in/pukiwiki/ | 2006-09-13 00:00:00 |
| 003 |       0 | タイトル3 | http://www.masatom.in/pukiwiki/ | 2006-09-13 00:00:00 |
| 004 |       0 | タイトル4 | http://www.masatom.in/pukiwiki/ | 2006-09-13 00:00:00 |
+-----+---------+------------+---------------------------------+---------------------+
4 rows in set (0.00 sec)
mysql>

んー簡単ですね。

DBUnitのAntタスクの詳細は

を参照ください。

データをXMLでエクスポートする

さて、いきなり出てきたimport.xmlですが、このフォーマットで、テーブルからexportすることもできます。以下のタスクを実行します。

<target name="dbExport">
  <dbunit schema="webdb1" 
        driver="com.mysql.jdbc.Driver"
        url="jdbc:mysql://192.168.10.5/webdb1?useUnicode=true
              &amp;characterEncoding=ujis"
        userid="xxxx" password="xxxx">
    <export dest="export.xml" >
      <table name="rss1" /><-指定しないと、スキーマ内の全テーブルが対象
    </export>
  </dbunit>
</target>

いやあ便利です。なんかすごいですね。

次は、Java/DBUnit/ExcelシートでImport,Exportする をやってみます。


この記事は

選択肢 投票
おもしろかった 11  
そうでもない 3  

Top / Java / DBUnit / XMLでImport,Exportする

現在のアクセス:16978


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2014-04-14 (月) 21:01:41 (3658d)