根据不同连接创建不同的数据库连接
private IDatabaseConnection createDatabaseConnection(Connection conn, String schema) {
IDatabaseConnection dbUnitConn = new DatabaseConnection(conn, schema);
DatabaseConfig config = dbUnitConn.getConfig();
config.setProperty(DatabaseConfig.PROPERTY_ESCAPE_PATTERN, "\"?\"");
config.setProperty(DatabaseConfig.FEATURE_ALLOW_EMPTY_FILEDS, true);
String dbName = conn.getMetaData().getDatabaseProductName().toLowerCase();
if (dbName.contains("oracle")) {
// 注意这里没有使用 OracleDataTypeFactory, 而是自己的 MyOracleDataTypeFactory
config.setProperty(DatabaseConfig.PROPERTY_DATETYPE_FACTORY, new MyOracleDataTypeFactory());
} else if (dbName.contains("mysql")) {
config.setProperty(DatabaseConfig.PROPERTY_DATETYPE_FACTORY, new MySqlDataTypeFactory());
config.setProperty(DatabaseConfig.PROPERTY_METADATA_HANDLER, new MySqlMetadataHandler());
}
}
...小于 1 分钟