さて、はじめに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 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 &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タスクの詳細は
を参照ください。
さて、いきなり出てきたimport.xmlですが、このフォーマットで、テーブルからexportすることもできます。以下のタスクを実行します。
<target name="dbExport"> <dbunit schema="webdb1" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://192.168.10.5/webdb1?useUnicode=true &characterEncoding=ujis" userid="xxxx" password="xxxx"> <export dest="export.xml" > <table name="rss1" /><-指定しないと、スキーマ内の全テーブルが対象 </export> </dbunit> </target>
いやあ便利です。なんかすごいですね。
次は、Java/DBUnit/ExcelシートでImport,Exportする をやってみます。
この記事は
現在のアクセス:16988