java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > java mybatisplus批量新增和更新

java mybatisplus批量新增和更新方式

作者:顾米楠

文章主要介绍使用Javamapper框架通过XML配置实现批量新增和更新操作,包含单字段更新(如删除标记)及多字段更新的方法,但内容存在格式混乱问题,需进一步明确具体实现细节

java mybatisplus批量新增和更新

1.批量新增

/**
* 批量插入
*/
void batchInsert(@Param("list") List<DeductionDetailEntity> insertList);
<insert id="batchInsert">
        insert into meter_contract_deduction_detail
        (id,epid,dept_id,deduction_id,deduction_name,exchange_rate,
         deduction_amount,deduction_remark,is_delete,create_by,
        create_at,update_by,update_at)
        values
        <foreach collection="list" item="item" index="index" separator=",">
            (#{item.id},#{item.epid},#{item.deptId},
            #{item.deductionId},#{item.deductionName},#{item.exchangeRate},
            #{item.deductionAmount},#{item.deductionRemark},#{item.isDelete},#{item.createBy},
            #{item.createAt},#{item.updateBy},#{item.updateAt})
        </foreach>
    </insert>

2.批量更新

2.1 批量更新一个字段 比如批量更新删除字段

/**
     * 批量删除
     *
     * @param ids
     * @return
     */
    int batchDelete(@Param("list") List<String> ids);
<update id="batchDelete">
        update meter_contract_deduction_detail SET is_delete = 1
        where id in
        <foreach collection = 'list' item = 'item' index='index' open = '(' separator= ',' close = ')' >
            #{item}
        </foreach>
    </update>

2.2 批量更新多个字段

void batchUpdate(@Param("referenceIds") List<String> referenceIds, @Param("approvalStatus") Integer approvalStatus,
                     @Param("processId") String processId);
<!--批量更新-->
    <update id="batchUpdate">
    UPDATE meter_contract_prod_value
    SET approval_status = #{approvalStatus}, process_id = #{processId}
    WHERE id in
    <foreach collection="referenceIds" item="item" index="index" open = '(' separator= ',' close = ')'>
        #{item}
    </foreach>
    </update>

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文