在Mybatis操作Oracle数据库的时候(PS:mysql中不会出现),会遇到个小问题,
当数据库为Oracle时候,插入某个参数数据如果为null,mybatis会报错,提示类型不正确,
原因是当插入数据为null类型的时候,mybatis会自动转换为JdbcType.OTHER类型,因此需要修改一下参数的转换类型
有两种方式可以解决:
1.公共配置方法:
在Mybatis配置中设置jdbcTypeForNull=NULL,
即:
<settings>
<setting name="jdbcTypeForNull" value="NULL"/>
</settings>
2.参数配置方法
修改mybatis的sql语句参数通配符,设置当参数为null时候采用JdbcType.NULL类型
即:
select * from tb where name = #{name,jdbcType=NULL}
如上两种方式配置,都可以解决Oracle下参数为null操作错误问题!