<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.aizuda.snailjob.template.datasource.persistence.mapper.RetryTaskLogMessageMapper"> <!-- 通用查询映射结果 --> <resultMap id="BaseResultMap" type="com.aizuda.snailjob.template.datasource.persistence.po.RetryTaskLogMessage"> <id column="id" property="id"/> <result column="group_name" property="groupName"/> <result column="unique_id" property="uniqueId"/> <result column="create_dt" property="createDt"/> <result column="message" property="message"/> </resultMap> <insert id="batchInsert" parameterType="java.util.List"> INSERT INTO sj_retry_task_log_message (namespace_id, group_name, unique_id, log_num, message, create_dt, real_time) VALUES <foreach collection="list" item="item" separator=","> ( #{item.namespaceId}, #{item.groupName}, #{item.uniqueId}, #{item.logNum}, #{item.message}, #{item.createDt}, #{item.realTime} ) </foreach> </insert> <update id="batchUpdate" parameterType="java.util.List"> UPDATE sj_retry_task_log_message jlm, ( <foreach collection="list" item="item" index="index" separator="UNION ALL"> SELECT #{item.message} AS message, #{item.logNum} AS log_num, #{item.id} AS id </foreach> ) tt SET jlm.message = tt.message, jlm.log_num = tt.log_num WHERE jlm.id = tt.id </update> </mapper>