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を設定しましょう。