mybatis插入数据传入值为null时提示无效的列类型
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mybatis插入数据传入值为null时提示无效的列类型相关的知识,希望对你有一定的参考价值。
参考技术A mybatis插入数据传入值为null时提示无效的列类型原因:mybatis无法解析值的类型
方法一
方法2
原因:mybatis无法解析值的类型
方法一
因为无法解析null为何种类型,可对传入值在xml中指定类型,如下
<insert id="batchInsertQuestion" useGeneratedKeys="false">
insert all
<foreach collection="list" item="item" index="index">
into ZB_APPRAISE_RECORD_QUESTION (id, record_id, question_name, sort_no, created_by, created_time,
modified_by,
modified_time,option_type,appraise_id)
values
(#item.id,#item.recordId,#item.questionName,jdbcType=varchar,#item.sortNo,#item.createdBy,#item.createdTime,#item.modifiedBy,#item.modifiedTime,#item.optionType,#item.appraiseId)
</foreach>
select 1 from dual
</insert>
方法2
在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>
springboot yml配置方法如下
mybatis-plus:
configuration:
jdbc-type-for-null: 'null' #注意:单引号
以上是关于mybatis插入数据传入值为null时提示无效的列类型的主要内容,如果未能解决你的问题,请参考以下文章
mybatis resultType=“Map“ 时, 能不能允许返回的结果值为NULL值
操作MyBatis引发Error setting null for parameter #X with JdbcType OTHER .无效的列类型