package common; import java.io.FileWriter; import java.sql.Connection; import java.sql.DriverManager; import org.dbunit.database.DatabaseConnection; import org.dbunit.database.IDatabaseConnection; import org.dbunit.dataset.IDataSet; import org.dbunit.dataset.xml.FlatDtdDataSet; import org.dbunit.dataset.xml.FlatXmlDataSet; /** * @author n-sasaki */ public class DataExport { private static final String TEST_DATA_DIRECTORY = "D:/wiki/"; private static final String DATA_FILE_NAME = "dbUnitTest.xml"; private static final String DTD_FILE_NAME = "dbUnitTest.dtd"; private static final String DRIVER_CLASS_NAME = "oracle.jdbc.driver.OracleDriver"; private static final String DATABASE_URL = "jdbc:oracle:thin:@localhost:1521:DJWiki"; private static final String DATABASE_USER_NAME = "djwiki"; private static final String DATABASE_PASSWORD = "djwiki"; private static final String DATABASE_SCHEMA = "DJWIKI"; private static final String ENCODING = "Shift_jis"; public static void main(String[] args) throws Exception { // database connection Class.forName(DRIVER_CLASS_NAME); Connection jdbcConnection = DriverManager.getConnection(DATABASE_URL, DATABASE_USER_NAME, DATABASE_PASSWORD); IDatabaseConnection connection = new DatabaseConnection(jdbcConnection, DATABASE_SCHEMA); System.out.println("Schema : " + connection.getSchema()); // partial database export String[] tableNames = { "USER_TABLE" }; System.out.println("対象テーブル"); for (int idx = 0; idx < tableNames.length; idx++) { System.out.println(tableNames[idx]); } IDataSet partialDataSet = connection.createDataSet(tableNames); System.out.println("<< データExport開始 >>"); FlatXmlDataSet.write( partialDataSet, new FileWriter(TEST_DATA_DIRECTORY + DATA_FILE_NAME), ENCODING); System.out.println("<< データExport終了 >>"); System.out.println("<< DTDExport開始 >>"); FlatDtdDataSet.write( partialDataSet, new FileWriter(TEST_DATA_DIRECTORY + DTD_FILE_NAME)); System.out.println("<< DTDExport終了 >>"); } }