タイトルのとおりです。単純なことですがハマったので書き残しておきます。
環境
- Spring Boot 2.0.2
- MyBatis 1.3.2
application.ymlにおけるJdbcTypeForNullの設定方法
yamlで値としてNULL
を指定すると、読み込み時にnull値として扱われてしまいます。
JdbcTypeForNullの値にJdbcType.NULL
を設定したい場合、application.ymlではクォーテーション付きで'NULL'
と指定する必要があります。
application.yml
mybatis:
configuration:
jdbc-type-for-null: 'NULL'
ちなみに、プロパティファイルの場合は、値は常に文字列で扱われるため、クォーテーションは必要ありません
application.properties
mybatis.configuration.jdbc-type-for-null=NULL
JdbcTypeForNullについて
DBのカラムにnullを設定する際は、NULL値とJDBC型のマッピングを指定する必要があります。
Mybatisでは、デフォルトでJdbcType.OTHER
が指定されるように設定されていますが、Oracleなど一部のJDBCドライバはJdbcType.OTHER
をサポートしていないため、デフォルト設定ではエラーが発生します。
Oracleの場合はJdbcType.NULL
を指定すると解決するようです。