mybatis 批量新增-批量修改-批量删除操作
mapper.xml
<!-- 批量新增 -->
<insert id="saveBatch" parameterType="java.util.List">
insert into t_gceb_login_log(
id ,
user_id ,
user_name ,
mip ,
jsession_id_4a ,
create_by ,
create_by_name ,
update_by ,
update_by_name ,
create_time ,
update_time ,
data_version ,
attribute1 ,
attribute2 ,
attribute3 ,
attribute4 ,
attribute5 ,
attribute6
)
values
<foreach collection="list" item="item" index="index" separator="," >
(
#{item.id},
#{item.userId},
#{item.userName},
#{item.mip},
#{item.jsessionId4a},
#{item.createBy},
#{item.createByName},
#{item.updateBy},
#{item.updateByName},
#{item.createTime},
#{item.updateTime},
#{item.dataVersion},
#{item.attribute1},
#{item.attribute2},
#{item.attribute3},
#{item.attribute4},
#{item.attribute5},
#{item.attribute6}
)
</foreach>
</insert> <!-- 批量修改 -->
<update id="updateBatch" parameterType="java.util.List">
update t_gceb_login_log
<trim prefix="set" suffixOverrides=",">
<trim prefix="userId =case" suffix="end,">
<foreach collection="list" item="item">
<if test="item.userId!=null">
when id=#{item.id} then #{item.userId}
</if>
</foreach>
</trim>
<trim prefix="attribute1 =case" suffix="end,">
<foreach collection="list" item="item">
<if test="item.attribute1!=null">
when id=#{item.id} then #{item.attribute1}
</if>
</foreach>
</trim>
</trim>
<where>
<foreach collection="list" separator="or" item="item">
id=#{item.id}
</foreach>
</where>
</update> <delete id="logBatchRemove" parameterType = "java.util.List">
delete from t_gceb_login_log
<where>
id in
<foreach collection="list" item="item" open="(" separator="," close=")" >
#{item}
</foreach>
</where>
</delete>
注意点:批量操作也是有性能问题的,一个批次建议200条
List<List<LoginLog>> batchList = ListUtils.partition(loginLogList, 200);
for (List<LoginLog> array: batchList) {
int sum = this.sqlSessionTemplate.update("loginLog.updateBatch", array);
LOGGER.debug("批量更新记录数:{}", sum);
}
mybatis 批量新增-批量修改-批量删除操作的更多相关文章
- 17、手把手教你Extjs5(十七)模块的新增、修改、删除操作
上节在Grid展示时做了一个金额单位可以手工选择的功能,如果你要加入其他功能,也只要按照这个模式来操作就行了,比如说你想改变金额字段的颜色.小数位数.零值是否显示.货币符号.单位显示在标题栏或者跟在金 ...
- mybatis,批量新增、修改,删除
转载自:http://blog.csdn.net/sanyuesan0000/article/details/19998727 最近需要用到Mybatis批量新增oracle数据库,刚开始在网上找到的 ...
- MyBatis通过注解方式批量添加、修改、删除
唯能极于情,故能极于剑 注: 本文转载于:CodeCow · 程序牛 的个人博客:http://www.codecow.cn/ 一.数据库实体DO public class User implemen ...
- 关于C#和ASP.NET中对App.config和Web.config文件里的[appSettings]和[connectionStrings]节点进行新增、修改、删除和读取相关的操作
最近我做的一些项目,经常需要用到对应用程序的配置文件操作,如app.config和web.config的配置文件,特别是对配置文件中的[appSettings]和[connectionStrings] ...
- js操作select控件大全(包含新增、修改、删除、选中、清空、判断存在等)
原文:js操作select控件大全(包含新增.修改.删除.选中.清空.判断存在等) js操作select控件大全(包含新增.修改.删除.选中.清空.判断存在等) js 代码// 1.判断select选 ...
- python操作三大主流数据库(14)python操作redis之新闻项目实战②新闻数据的展示及修改、删除操作
python操作三大主流数据库(14)python操作redis之新闻项目实战②新闻数据的展示及修改.删除操作 项目目录: ├── flask_redis_news.py ├── forms.py ├ ...
- LitePal的修改和删除操作
转载出处:http://blog.csdn.net/guolin_blog/article/details/40083685 传统的修改和删除数据方式 上篇文章中我们已经得知,SQLiteData ...
- c#封装DBHelper类 c# 图片加水印 (摘)C#生成随机数的三种方法 使用LINQ、Lambda 表达式 、委托快速比较两个集合,找出需要新增、修改、删除的对象 c# 制作正方形图片 JavaScript 事件循环及异步原理(完全指北)
c#封装DBHelper类 public enum EffentNextType { /// <summary> /// 对其他语句无任何影响 /// </summary> ...
- Entity Framework 6 Recipes 2nd Edition(10-8)译 - >映射插入、修改、删除操作到存储过程
10-8. 映射插入.修改.删除操作到存储过程 问题 想要映射插入.修改.删除操作到存储过程 解决方案 假设已有运动员实体模型,如Figure 10-8所示. 对应的数据库表如Figure 10-9所 ...
- [PHP] - Laravel - 列表、新增、修改、删除例子
前言 Laravel默认是自带了CURD的功能,使用路由的Route::resource可以做到. 但真正的项目中,这往往不是我们所需要的.因为一个项目会有比较复杂的计算.验证等功能. 下面是对项目中 ...
随机推荐
- CAD中解决打印图纸模糊而且有的字体深浅不一的方法
按圈圈中选择打印样式
- docker中ubuntu源更新慢加速 换为国内源 Debian10源
本来以为是Ubuntu打包的镜像,换了阿里源老是报错100公钥不可用,结果发现是Debian的操作系统,换位Debian的操作系统打包的,换位Debian的源即可 #源如果使用错误也会报错,没有Deb ...
- linux下 find命令使用
按名称查找 find . -name filename [root@vps repo]# ls README.md vps.sh[root@vps repo]# find . -iname vps ...
- 【分布式】-- 微服务抽奖系统后台整合MyBatis-Plus
1.整合MyBatis-Plus背景 [分布式]-- 基于Nacos.OpenFeign搭建的微服务抽奖系统后台小案例 本篇是基于上一篇博文微服务抽奖系统后台对持久层MyBatis进行更换,并整合My ...
- 入坑java工程师那些事
最近在知乎上看到好多关于转行做java的朋友,有的在担心学历,有的在想着如何学习java,有的在纠结如何面试.作为一个工作了近10年的java程序员来聊聊我的一些想法,主要从学历.个人能力.工作环境等 ...
- 目标检测中特征融合技术(YOLO v4)(下)
目标检测中特征融合技术(YOLO v4)(下) ASFF:自适应特征融合方式 ASFF来自论文:<Learning Spatial Fusion for Single-Shot Object D ...
- CUDA运行时 Runtime(四)
CUDA运行时 Runtime(四) 一. 图 图为CUDA中的工作提交提供了一种新的模型.图是一系列操作,如内核启动,由依赖项连接,依赖项与执行分开定义.这允许定义一次图形,然后重复启动.将 ...
- 模型压缩95%:Lite Transformer,MIT韩松等人
模型压缩95%:Lite Transformer,MIT韩松等人 Lite Transformer with Long-Short Range Attention Zhanghao Wu, Zhiji ...
- 适用于CUDA GPU的Numba 随机数生成
适用于CUDA GPU的Numba 随机数生成 随机数生成 Numba提供了可以在GPU上执行的随机数生成算法.由于NVIDIA如何实现cuRAND的技术问题,Numba的GPU随机数生成器并非基于c ...
- SpringCloud01:微服务概述
一.什么是微服务 微服务是一种架构风格,是一种架构设计方式,一个大型复杂软件应用由一个或多个微服务组成.系统中的各个微服务可被独立部署,各个微服务之间是松耦合的.每个微服务仅关注于完成一件任务并很好地 ...