
原因: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' #注意:单引号
你好,试试把配置改成如下看看,去掉DESCRIPTION那行的if判断<update id="updateField" parameterType="map">
UPDATE SYS_ROLE
<trim prefix="SET" suffixOverrides=",">
<if test="roleName != null">ROLENAME=#{roleName},</if>
DESCRIPTION=#{description}
</trim>
WHERE ID=#{id}
</update>
第一种写法:UpdateWrapper updateWrapper = new UpdateWrapper()
updateWrapper.set("mer_name", null)//把字段改为null
updateWrapper.eq("mer_id", "111")
merInfoService.update(updateWrapper)
第二种写法(lambda):
merInfoService.lambdaUpdate()
.set(MerInfo::getMerName, null) //把字段改为null
.eq(MerInfo::getMerId, "111")
.update()
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)