IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> mysql-mybatis 批量新增、批量更新 -> 正文阅读

[移动开发]mysql-mybatis 批量新增、批量更新

注意:根据实际情况进行copy

如果项目有is_deleted 需要进行判断

我的原始需求是修改主表时需要同时修改与主表关联的附表,但是后来我考虑到可能会出现修改主表后新增或删除了1条附表信息,附表信息变多或变少的情况,所以我没有采用批量修改来实现需求。最终的实现步骤是先批量删除了所有相关的附表信息,再调用一次批量新增实现需求。

/**
?* 批量新增
?* @param cleanRulesSteps 清洗规则步骤集合
?* @return Integer
?*/

Integer insertCleanRulesStep(List<DpCleanRulesStep> cleanRulesSteps);

<!-- 批量插入 -->
<insert id="insertCleanRulesStep" parameterType="java.util.List">
? ? insert into dp_clean_rules_step
? ? (rule_id,fun_id,source_param,target_param,rules_value,step_order,func_name,func_code,create_time)
? ? values
? ? <foreach collection="list" item="cleanRulesSteps" index="index" separator=",">
? ? ? ? (
? ? ? ? #{cleanRulesSteps.ruleId},
? ? ? ? #{cleanRulesSteps.funId},
? ? ? ? #{cleanRulesSteps.sourceParam},
? ? ? ? #{cleanRulesSteps.targetParam},
? ? ? ? #{cleanRulesSteps.rulesValue},
? ? ? ? #{cleanRulesSteps.stepOrder},
? ? ? ? #{cleanRulesSteps.funcName},
? ? ? ? #{cleanRulesSteps.funcCode},
? ? ? ? now()
? ? ? ? )
? ? </foreach>
</insert>?

/**
?*批量修改
?* @param cleanRulesSteps 清洗规则步骤集合
?* @return Integer
?*/
?Integer updateRulesSteps(List<DpCleanRulesStep> cleanRulesSteps);?

<!-- 批量修改 -->
<update id="updateRulesSteps" parameterType="java.util.List">
? ? <foreach item="cleanRulesSteps" index="index" collection="list" open="" separator=";" close="">
? ? ? ? update dp_clean_rules_step
? ? ? ? <set>
? ? ? ? ? ? <if test="cleanRulesSteps.funId !=null ">
? ? ? ? ? ? ? ? fun_id=#{cleanRulesSteps.funId},
? ? ? ? ? ? </if>
? ? ? ? ? ? <if test="cleanRulesSteps.sourceParam !=null and cleanRulesSteps.sourceParam !=''">
? ? ? ? ? ? ? ? source_param=#{cleanRulesSteps.sourceParam},
? ? ? ? ? ? </if>
? ? ? ? ? ? <if test="cleanRulesSteps.targetParam !=null and cleanRulesSteps.targetParam !=''">
? ? ? ? ? ? ? ? target_param= #{cleanRulesSteps.targetParam},
? ? ? ? ? ? </if>
? ? ? ? ? ? <if test="cleanRulesSteps.rulesValue !=null and cleanRulesSteps.rulesValue !='' ">
? ? ? ? ? ? ? ? rules_value= #{cleanRulesSteps.rulesValue},
? ? ? ? ? ? </if>
? ? ? ? ? ? <if test="cleanRulesSteps.stepOrder !=null">
? ? ? ? ? ? ? ? step_order= #{cleanRulesSteps.stepOrder},
? ? ? ? ? ? </if>
? ? ? ? ? ? update_time= now()
? ? ? ? </set>
? ? ? ? where id =#{cleanRulesSteps.id}
? ? </foreach>
</update>?

批量更新问题之check the manual that corresponds to your MySQL server version for the right sy

解决方案: 连接mysql数据库的配置中加上如下的配置: &allowMultiQueries=true

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2022-03-24 00:42:07  更:2022-03-24 00:44:15 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 19:30:49-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码