mybatis手写insert跟update重写mybatis的handle方法设置默认值不生效

java 复制代码
@Data
@Accessors(chain = true)
@TableName("mrp_flowmeter")
public class MrpFlowmeter implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "water_meter_id", type = IdType.ID_WORKER_STR)
    private String waterMeterId;
	
    @TableField(value = "enterprise_Id",fill = FieldFill.INSERT)
    private String enterpriseId;
    
    @TableField(value = "create_uid",fill = FieldFill.INSERT)
    private String createUid;
    
    @TableField(value = "create_time",fill = FieldFill.INSERT)
    private Date createTime;

    @TableField(value = "modify_uid",fill = FieldFill.INSERT_UPDATE)
    private String modifyUid;
    
    @TableField(value = "modify_time",fill = FieldFill.INSERT_UPDATE)
    private Date modifyTime;
}
sql 复制代码
    <insert id="insertBatchMrpFlowmeter">
        INSERT INTO mrp_flowmeter (
            water_meter_id,
            bxwell_id,
            group_id,
            bxwell_remark,
            flowmeter_num,
            enterprise_Id,
            dict_wms,
            val,
            caliber,
            dict_ct,
            meter_x,
            meter_y,
            longitude_and_latitude_gis,
            meter_address,
            cycle_val,
            create_uid,
            create_time,
            modify_uid,
            modify_time)VALUES
        <foreach collection="list" item="item" separator=",">
            (
            #{item.waterMeterId},
            #{item.bxwellId},
            #{item.groupId},
            #{item.bxwellRemark},
            #{item.flowmeterNum},
            #{item.enterpriseId},
            #{item.dictWms},
            #{item.val},
            #{item.caliber},
            #{item.dictCt},
            #{item.meterX},
            #{item.meterY},
            ST_GeomFromText(#{item.longitudeAndLatitudeGis}),
            #{item.meterAddress},
            #{item.cycleVal},
            #{item.createUid},
            #{item.createTime},
            #{item.modifyUid},
            #{item.modifyTime}
            )
        </foreach>
    </insert>
	<update id="updateMrpFlowmeter">
	        UPDATE mrp_flowmeter
	        SET bxwell_id =#{bxwellId},
	            group_id =#{groupId},
	            bxwell_remark =#{bxwellRemark},
	            flowmeter_num =#{flowmeterNum},
	            dict_wms =#{dictWms},
	            val =#{val},
	            caliber =#{caliber},
	            dict_ct =#{dictCt},
	            meter_x =#{meterX},
	            meter_y =#{meterY},
	            longitude_and_latitude_gis =ST_GeomFromText(#{longitudeAndLatitudeGis}),
	            meter_address =#{meterAddress},
	            cycle_val =#{cycleVal},
	            modify_uid =#{modifyUid},
	            modify_time =#{modifyTime}
	        WHERE
	            water_meter_id = #{waterMeterId}
	          AND del_flag = '0'
	    </update>

我在service类里调用mapper类的insert跟update类操作数据之后,通用mybatis的自动生成值的方法,没有设置默认值。

原因在mapper层的方法参数里我加了@param(),我重写的mybatis的Handler类设置生成id,生成创建人修改人没有生成值。应该把@param()去掉。

sql 复制代码
//正确
Integer insertBatchMrpFlowmeter(List<MrpFlowmeter> list);
sql 复制代码
//错误
Integer insertBatchMrpFlowmeter(@param("list")List<MrpFlowmeter> list);

在这里有我重写的mybatis的自动生成创建人修改人的类 https://blog.csdn.net/hanjiaqian/article/details/109326009

相关推荐
Devin~Y17 小时前
互联网大厂 Java 面试实录:Spring Boot、MyBatis、Redis、Kafka、Spring Security、RAG 与 MCP 全链路问答
java·redis·kafka·mybatis·spring security·spring mvc·sprint boot
VX_bysjlw9851 天前
基于微信小程序的宠物用品商城系统-后端74346-计算机毕设原创(免费领源码+带部署教程)
java·redis·微信小程序·eclipse·mybatis·idea·微信开发者工具
hexu_blog2 天前
springboot3集成shardingsphere4.0 分表分库
java·spring boot·mybatis
乐观的Terry2 天前
9、发布系统-Webhook自动发布
java·spring boot·spring·spring cloud·mybatis
聆听。。花开雨落2 天前
mybatis的typeHandler 作用
数据库·mybatis
天若有情6735 天前
SpringBoot4 + MyBatis 前后端分离实战|从零实现坏习惯管理系统,支持局域网手机访问CRUD
智能手机·mybatis
不能只会打代码5 天前
Day 011 — Spring 全家桶深度拆解
spring boot·mybatis·spring aop·spring mvc·spring ioc
憧憬成为web高手5 天前
皮卡丘靶场速通--sql 2
数据库·sql·mybatis
Java面试题总结7 天前
mybatis插件
java·tomcat·mybatis
Devin~Y8 天前
互联网大厂Java面试实战:Spring Boot、MyBatis、Redis、Kafka、JWT、Spring Cloud 与 AI 场景追问
java·spring boot·redis·spring cloud·kafka·mybatis·spring security