mybatis传入值为null时提示无效的列类型

原因: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也能够将其转换成正确的数据类型,并进行存储操作。

猜你喜欢

转载自www.cnblogs.com/uzxin/p/12979302.html