読者です 読者をやめる 読者になる 読者になる

DBUnitを使う時にはDatatypeFactoryを指定しよう

DBUnit

DBUnitを使ってDBのデータをExcelファイルに落とすとき、IDatabaseConnectionを取得するタイミングでデータタイプファクトリーを指定します。指定しなくても動くので、指定していないコードを多く見かけるんだけど。

データタイプファクトリーの指定方法は下記のような感じです。

IDatabaseConnectionを返すメソッドの中身の例:

    Class.forName(driverName);
    Connection conn = DriverManager.getConnection(connectionUrl, user, passwd);
    IDatabaseConnection retConn = (new DatabaseConnection(conn, schema));
    DatabaseConfig config = retConn.getConfig();
    config.setProperty(
        DatabaseConfig.PROPERTY_DATATYPE_FACTORY, 
        new Oracle10DataTypeFactory());
    return retConn;

ここではOracle10用に指定。
Oracleの場合、指定しないとDate型の時刻情報を切り捨てられてしまいます。