原因:mybatis无法解析值的类型
解决办法一:
经过对代码分析,是由于未指定传入参数khjl的类型,当mybatis接收到null时,无法将其正确的进行解析,进而导致上述异常。
将mapper中代码修改如下:
<insert id="save" parameterType="Khjlmx"> insert into TXS_LHKH_KHJLMX(id,khjl,khzx,khnr,trnr) values(fnextid(‘TXS_LHKH_KHJLMX’),#{khjl,jdbcType=NUMERIC},#{khzx},#{khnr},#{trnr}) </insert>
解决办法二:
在配置文件mybatis-config.xml中加入如下代码:
<?xml version=”1.0” encoding=”UTF-8” ?> <!DOCTYPE configuration PUBLIC “-//mybatis.org//DTD Config 3.0//EN” “http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> … <settings> <setting name="jdbcTypeForNull" value="NULL" /> </settings> … </configuration>
这样,即使传入参数为null,mybatis也能够将其转换成正确的数据类型,并进行存储操作。