将参数设置为 null 时出现错误。
此问题仅在使用 ojdbc14.jar 时发生。使用 ojdbc6.jar 时,没问题。
我在 mybatis 配置 xml 中有这个设置
<settings>
<setting name="jdbcTypeForNull" value="NULL"/>
</settings>
错误信息是:
Caused by: org.apache.ibatis.type.TypeException: Error setting null for parameter #1 with JdbcType NULL . Try setting a different JdbcType for this parameter or a different jdbcTypeForNull
xml中的sql是
<update id="rename" parameterType="Element">
update dsb_element t set t.elementname = #{elementName} where t.elementid = #{elementId}
</update>
调用它的java是
com.my.Element ele = new Element();
ele.setElementId("some-id");
ele.setElementName(null);
sqlSession.update(getMyBatisId("rename"), element) ;
问题是:
是不是ojdbc14.jar的问题,如果是,为什么?
我知道我可以通过使用#{elementName, jdbcType=VARCHAR2} 来解决它,但是我的项目到处都有这个问题,而且很快就会到期。我不想改变所有这些。