[JAVA] Verwenden Sie den PostgreSQL-Inet-Typ mit DbUnit

Gehen Sie wie folgt vor, wenn Sie versuchen, Daten mit DbUnit für eine Tabelle einzurichten, die den Inet-Typ von PostgreSQL definiert.

Umgebung

OSS Version
Java 7
postgresql 9.5
mybatis 3.4.2
dbunit 2.5.3

Fehler, der vor der Aktion auftritt

org.dbunit.dataset.NoSuchColumnException: users.ADDR - (Non-uppercase input column: addr) Die ADDR-Spalte der Tabelle mit dem Namen users ist vom Typ inet.

Problemumgehung

Verwenden Sie die PostgresqlDataTypeFactory-Klasse Die Verwendung ist wie folgt. Ich werde eine Klasse hinzufügen, die den eigenen Typ von Postgresql für DatabaseConnection bereitstellt. Informationen zur Implementierung von getDBConnection () finden Sie unter "Ich habe versucht, Spring + Mybatis + DbUnit zu verwenden".

sample.java


DatabaseConnection connection = getDBConnection();
connection
    .getConfig()
    .setProperty(
        DatabaseConfig.PROPERTY_DATATYPE_FACTORY,
        new PostgresqlDataTypeFactory()
     );
     

Recommended Posts

Verwenden Sie den PostgreSQL-Inet-Typ mit DbUnit
Verwenden Sie den PostgreSQL-Datentyp (jsonb) aus Java
Verwenden Sie ProGuard mit Gradle
Erste Schritte mit DBUnit
Verwenden Sie Puphpeteer mit Docker
Verwenden Sie XVim2 mit Xcode 12.0.1
Verwenden von CentOS mit LXD
Verwenden Sie Webmock mit Rspec
Verwenden Sie PostgreSQL in Scala
Verwenden Sie WebJars mit Gradle
Verwenden Sie jlink mit gradle
Verwenden Sie Lambda-Ebenen mit Java
Verwenden Sie GDAL mit Python mit Docker
Verwenden Sie Thymeleaf mit Azure-Funktionen
Verwenden Sie das pfx-Zertifikat mit Okhttp3
Verwenden Sie die Bulk-API mit RestHighLevelClient
Verwenden Sie SDKMAN! Mit Git Bash
Verwenden Sie mit Rails 6.0 mehrere Datenbanken
Verwenden Sie Spring JDBC mit Spring Boot
Ich habe UPSERT mit PostgreSQL ausprobiert.
Verwenden Sie Ruby mit Google Colab
Verwenden Sie SpatiaLite mit Java / JDBC
Verwenden Sie log4j2 mit YAML + Gradle
[Docker] Wird immer mit Docker + Rails verwendet