// 下階層用テンプレート
#topicpath
----
//ここにコンテンツを記述します。
さて、はじめにXMLファイルを使ったimport,exportをやってみます。

#contents

**サンプルのテーブル定義 [#q5cf9e69]
以下のテーブルに対して、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からインポートする [#b1c4cd5f]
このテーブルにデータを入れるために以下のようなデータを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タスクの詳細は
-http://dbunit.sourceforge.net/anttask.html

を参照ください。



**データをXMLでエクスポートする [#q19a9f26]
さて、いきなり出てきた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する]] をやってみます。










----
この記事は
#vote(おもしろかった[11],そうでもない[2])
#vote(おもしろかった[11],そうでもない[3])

#comment
#topicpath


SIZE(10){現在のアクセス:&counter;}

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS