mybatis 批量新增,如果列表里面有id那么则更新,mysql数据库

<insert id="batchAdd" parameterType="java.util.List" useGeneratedKeys="true" keyProperty="id">
        insert into t_schedule(
        id,
        doctorId,
        deptId,
        `type`,
        `date`,
        `desc`,
        startTime,
        endTime,
        `number`)
        values
        <foreach collection="list" item="item" index="index" separator=",">
            (
            #{item.id},
            #{item.doctorId},
            #{item.deptId},
            #{item.type},
            #{item.date},
            #{item.desc},
            #{item.startTime},
            #{item.endTime},
            #{item.number}
            )
        </foreach>
        ON DUPLICATE KEY UPDATE
        doctorId=VALUES(doctorId),
        deptId=VALUES(deptId),
        `type`=VALUES(`type`),
        `date`=VALUES(`date`),
        `desc`=VALUES(`desc`),
        startTime=VALUES(startTime),
        endTime=VALUES(endTime),
        `number`=VALUES(`number`)
    </insert>

VALUES里面取的是sql的字段,如果是关键字,注意要加上``

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐