mybatis-puls的update方法设置时间为null不生效问题

mybatis-puls的update方法设置时间为null不生效问题,第1张

@TableField(value = "END_TIME", fill = FieldFill.INSERT_UPDATE)

fill = FieldFill.INSERT_UPDATE 将这个参数由默认值改为这个,这样修改之后,

saveOrupdate方法如果接受参数对象里没有这个属性,将会把时间置空而不是保留原值不变,如果想要做到保留不变

需要自己实现填充规则,否则不传值时直接更新为null,

如何自己实现填充规则,暂且不谈

参考: https://blog.csdn.net/qq_16887777/article/details/114066352

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' #注意:单引号


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11316192.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-15
下一篇 2023-05-15

发表评论

登录后才能评论

评论列表(0条)

保存