Spring

MyBatisでinsert,update,delete時にnullを設定するときの注意点

MyBatisを使って、insertやupdate、delete時にnullを設定するとエラーとなったときの対処法をメモしておきます。例えば、以下のSQL文の#{name}#{tel}にnullを設定するとTypeExceptionが発生します。

jdbcTypeを指定する必要がある

JDBCの仕様で、insertやupdate、deleteでnullが許可されている列を指定する場合、JDBCデータ型(jdbcType)を指定する必要があります。サポートされているJDBCデータ型の一覧は、MyBatisのドキュメントに記載されています。nullだとカラムのデータ型がわからないので、きちんと定義してねってことのようです。

具体的に上記コードを書き直してみると、以下のようになります。

まとめ

MyBatisでinsertやupdate、delete時にnullを設定するときは忘れずjdbcTypeを設定しましょう。

参考リンク


-Spring

© 2020 Reasonable Code