写Demo的时候遇到一个问题,用的oracle的emp表,comm为奖金列,可以为空,对员工的添加的时候总是报错,报莫名奇妙的错误,后来查了mybatis文档之后才知道,当Null被当作值来传递的时候,配置jdbcType是必须的,也就是说,如果确定那个列属性值可以为空,那么必须在参数后面配置好jdbcType,否则就报错,sql代码
insert into Emp(empno,ename,job,mgr,hiredate,sal,comm,deptno)values(
#{empNo,JDBCTYPE=INTEGER},#{empName,jdbcType=VARCHAR2},#{job,jdbcType=VARCHAR2},#{mgr ,jdbcType=INTEGER},#{hireDate,jdbcType=NUMERIC},#{sal,jdbcType=NUMERIC},#{comm,jdbcType=NUMERIC},#{deptNo}
)虽说不是必须的,但是写sql的时候建议写上jdbcType,这样可以减少错误的发生,免得半天找不到错误在哪里
最后
以上就是阳光金毛最近收集整理的关于MyBatis中JdbcType问题的全部内容,更多相关MyBatis中JdbcType问题内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复