java mybatisplus批量新增和更新方式
作者:顾米楠
文章主要介绍使用Javamapper框架通过XML配置实现批量新增和更新操作,包含单字段更新(如删除标记)及多字段更新的方法,但内容存在格式混乱问题,需进一步明确具体实现细节
java mybatisplus批量新增和更新
1.批量新增
- java mapper:
/** * 批量插入 */ void batchInsert(@Param("list") List<DeductionDetailEntity> insertList);
- xml:
<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 批量更新一个字段 比如批量更新删除字段
- java mapper :
/** * 批量删除 * * @param ids * @return */ int batchDelete(@Param("list") List<String> ids);
- xml :
<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 批量更新多个字段
- java mapper :
void batchUpdate(@Param("referenceIds") List<String> referenceIds, @Param("approvalStatus") Integer approvalStatus, @Param("processId") String processId);
- xml :
<!--批量更新--> <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>
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。