application.ymlでJdbcTypeForNullにNULLを指定する場合はクォーテーションをつける

タイトルのとおりです。単純なことですがハマったので書き残しておきます。

環境

  • 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を指定すると解決するようです。

参考URL

Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account log in.