[JAVA] Utiliser le type inet PostgreSQL avec DbUnit

Voici ce qu'il faut faire lorsque vous essayez de configurer des données à l'aide de DbUnit sur une table qui définit le type inet de PostgreSQL.

environnement

OSS Version
Java 7
postgresql 9.5
mybatis 3.4.2
dbunit 2.5.3

Erreur qui se produit avant l'action

org.dbunit.dataset.NoSuchColumnException: users.ADDR - (Non-uppercase input column: addr) La colonne ADDR de la table appelée users est de type inet.

solution de contournement

Utilisez la classe PostgresqlDataTypeFactory L'utilisation est la suivante. J'ajouterai une classe qui fournit le propre type de Postgresql pour DatabaseConnection. Pour l'implémentation de getDBConnection (), reportez-vous à "J'ai essayé d'utiliser Spring + Mybatis + DbUnit".

sample.java


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

Recommended Posts

Utiliser le type inet PostgreSQL avec DbUnit
Utiliser le type de données PostgreSQL (jsonb) à partir de Java
Utiliser ProGuard avec Gradle
Premiers pas avec DBUnit
Utiliser Puphpeteer avec Docker
Utilisez XVim2 avec Xcode 12.0.1
Utilisation de CentOS avec LXD
Utiliser Webmock avec Rspec
Utiliser PostgreSQL dans Scala
Utiliser les WebJars avec Gradle
Utilisez jlink avec gradle
Utiliser des couches Lambda avec Java
Utiliser GDAL avec Python avec Docker
Utiliser Thymeleaf avec Azure Functions
Utiliser le certificat pfx avec Okhttp3
Utiliser l'API Bulk avec RestHighLevelClient
Utilisez SDKMAN! Avec Git Bash
Utilisez plusieurs bases de données avec Rails 6.0
Utiliser Spring JDBC avec Spring Boot
J'ai essayé UPSERT avec PostgreSQL.
Utilisez Ruby avec Google Colab
Utiliser SpatiaLite avec Java / JDBC
Utilisez log4j2 avec YAML + Gradle
[Docker] À utiliser à tout moment avec Docker + Rails