MyBatis 批量新增及批量修改SQL拼接

批量新增

    <insert id="saveBatch">
        INSERT INTO log
        (
        Age,Name,CreateBy,CreateTime,UpdateBy,UpdateTime
        )
        VALUES
        <foreach collection ="list" item="item" separator =",">
            (
            #{item.age}
            , #{item.name}
            , #{item.createBy}
            , #{item.createTime}
            , #{item.updateBy}
            , #{item.updateTime}
            )
        </foreach>
    </insert>

批量修改

<update id="updateBatch">
        UPDATE log SET
        DeleteFlag =
        <foreach collection="list" item="item" index="index" separator=" " open="case Id"
                       close="end">
        when #{item.id} then 1
        </foreach>
        ,UpdateBy =
        <foreach collection="list" item="item" index="index" separator=" " open="case Id"
                 close="end">
            when #{item.Id} then #{item.updateBy}
        </foreach>
        ,UpdateTime =
        <foreach collection="list" item="item" index="index" separator=" " open="case Id"
                 close="end">
            when #{item.Id} then #{item.updateTime}
        </foreach>
        WHERE PO IN
        <foreach collection="list" item="item" index="index" separator="," open="("
                 close=")">
            #{item.Id}
        </foreach>
        AND
        DeleteFlag = 0
    </update>

猜你喜欢

转载自blog.csdn.net/gracexiao168/article/details/127675406