在日常开发中,有时候会遇到批量更新操作,这时候最普通的写法就是循环遍历,然后一条一条地进行update操作。但是不管是在服务端进行遍历,还是在sql代码中进行遍历,都很耗费资源,而且性能比较差,容易造成阻塞。

Mysql没有提供直接的方法来实现批量更新,但可以使用case when语法来实现这个功能。

Mysql中代码示例:

UPDATE tablename

SET sort = CASE id

WHEN 1 THEN 'sort1'

WHEN 2 THEN 'sort2'

WHEN 3 THEN 'sort3'

END,

updateuserid = CASE id

WHEN 1 THEN 'updateuserid1'

WHEN 2 THEN 'updateuserid2'

WHEN 3 THEN 'updateuserid3'

END

WHERE id IN (1,2,3)

sql释义:

如果id为1,则sort的值为sort1,updateuserid的值为updateuserid1;

如果id为2,则sort的值为sort2,updateuserid的值为updateuserid2;

如果id为3,则sort的值为sort3,updateuserid的值为updateuserid3;以此类推。

Mybatis中代码示例:

update t_mt_sm_dept

when id=#{i.id} then #{i.sort}

when id=#{i.id} then #{i.updateuserid}

when id=#{i.id} then #{i.updateusername}

where

id = #{i.id}

java中代码:

/**

* 批量修改排序

*/

int updateBatch(List smDeptList);

161102、MyBatis中批量插入

方法一:

如何在mybatis 中使用In操作

如何在mybatis 中使用In操作 假如我们想使用这样一个sql 语句,但是这样的sql语句有IN这样的操作.在我们的mybatis中有相对应的操作 SELECT * FROM product_db ...

【mybatis】mybatis中批量插入 批量更新 batch 进行insert 和 update,或者切割LIst进行批量操作

================================================================== 分别展示 mybatis 批量新增  和 批量更新   的操作: ...

170829、mybatis使用oracle和mybatis中批量更新

一.mybatis执行批量更新batch update 的方法(mysql数据库) 1.数据库连接必须配置:&allowMultiQueries=true(切记一定要加上这个属性,否则会有问题 ...

MyBatis中批量insert

在orcale和mybatis执行批量插入是不一样的. orcale如下:(这里要注意的是:useGeneratedKeys="false" ) 方式1:oracle批量插入使用 ...

mybatis中批量更新的问题

问题:使用mybatis在执批量更新操作时,一直报错执行失败 解决方法: 首先打印了SQL语句,发现SQL语句拿出来执行没问题,也可以批量执行.SQL没问题,应该是配置的问题. 在网上查询和很多资料, ...

mybatis中批量插入以及更新

1:批量插入 批量插入就是在预编译的时候,将代码进行拼接,然后在数据库执行

mybatis mysql 批量更新_mysql批量update更新,mybatis中批量更新操作相关推荐

  1. mysql 视图 字典_MySQL深入01-SQL语言-数据字典-服务器变量-数据操作DML-视图

    SQL语言的组成部分 常见分类:DDL:数据定义语言 DCL:数据控制语言,如授权 DML:数据操作语言 其它分类:完整性定义语言: DDL的一部分功能约束 约束:包括主键,外键,唯一键,条件,非空, ...

  2. linux批量在文件名前面加前缀,linux中批量添加文件前缀的操作

    linux中批量添加文件前缀的操作 需要在文件夹内所有txt文件的文件名前面添加"gt_"; 就是由原来的文件"xxx.txt"变成"gt_xxx.t ...

  3. mysql current_timestamp 不自动更新_MySQL ON UPDATE CURRENT_TIMESTAMP不更新

    我有一张桌子,看起来像这样: CREATE TABLE IF NOT EXISTS `Hosts` ( `id` int(128) NOT NULL AUTO_INCREMENT, `IP` varc ...

  4. mysql数据回退_mysql DML 数据插入,删除,更新,回退

    mysql插入,删除,更新地址:https://wenku.baidu.com/view/194645eef121dd36a32d82b1.html http://www.cnblogs.com/st ...

  5. mysql数据库栏目_MySQL的一些小技巧(持续更新) - mysql数据库栏目

    1.巧用RAND()提取随机行 在MySQL中,产生随机数的方法是RAND()函数,可以利用这个函数与ORDER BY子句一起完成随机抽取某些行的功能.它的原理其实就是ORDER BY RAND()能 ...

  6. mysql 百万级别 更新_mysql百万级数据高效插入和更新

    测试环境:win10系统+16G内存+mysql5.7.25 1.创建测试表(表结构如下) 2.插入数据方法 @Override @Transactional(rollbackFor = Except ...

  7. mybatis mysql 自定义函数_mysql自定义函数的调用问题

    我在创建自定义函数的调用sql时,一直在报错,希望能给一个解决方案,谢谢,附带我需要调用的sql以及创建的自定义函数 SELECT CONCAT(date_format(SYSDATE(), '%Y% ...

  8. mysql 字段 驼峰_MySQL #{驼峰字段} for MyBatis

    # 查找在那个表并生成 字段名 SQL SELECT TABLE_SCHEMA, TABLE_NAME, concat(TABLE_SCHEMA, '.', TABLE_NAME) AS st, co ...

  9. spring mysql事物级别_mysql事务级别和spring中应用

    一.事务的基本要素(ACID) 1.原子性(Atomicity):事务开始后所有操作,要么全部做完,要么全部不做,不可能停滞在中间环节.事务执行过程中出错,会回滚到事务开始前的状态,所有的操作就像没有 ...

  10. 创建mysql windows服务_MySQL的安装及创建(windows下操作)

    一.MySQL的下载 二.MySQL的安装 1.解压:将下载的压缩包解压到指定目录,如:D:\MySQL\mysql-8.0.20-winx64,解压后在根目录下的bin文件夹有两个文件:mysql. ...

最新文章

  1. sequel mysql8.0_sequel pro 无法链接mysql8.0以上高版本
  2. python空气质量分析报告_Python数据可视化:2018年北上广深空气质量分析
  3. android 上传html文件大小,浅谈关于Android WebView上传文件的解决方案
  4. 最大熵学习笔记(六)优缺点分析
  5. MSP430F5529 DriverLib 库函数学习笔记(十二)I2C实战
  6. x722网卡linux,Centos6.5 Intel X722 编译安装网卡驱动
  7. android显示多个网络图片不显示,Android显示网络图片实例
  8. java接口回调测试
  9. 夺命雷公狗---微信开发09----玩转单图文消息回复
  10. 除了云原生,2021 年还有这八大趋势值得关注
  11. ios 简单的倒计时验证码数秒过程实现
  12. Pandas入门教程(五)
  13. oracle 修索引改空间_oracle 修改索引现有表空间
  14. 北航计算机学硕还是专硕,经验教训-2018二战考研北航计算机
  15. HTML5 vs. Flash:Adobe面向何方?
  16. 卖家如何做亚马逊、Lazada、Shopee、速卖通、wish、eBay、沃尔玛、mercari、Newegg自养号测评?技术分享,带你开启掘金之路。
  17. 李清照《声声慢》欣赏(转载)
  18. 第39级台阶python实现
  19. 金山WPS服务器JAVA开发试卷题目
  20. C++校内模拟赛-06水题

热门文章

  1. 计算1到10亿的自然数包含多少个2
  2. MATLAB函数——minmax()
  3. 荣耀MagicBook 16 Pro评测 值得买吗
  4. idea无法输入顿号
  5. 点击查看更多进行分页,uniapp,分页请求
  6. python判断成年_使用python判断你是青少年还是老年人
  7. 新一轮互联网的泡沫将破灭,大量低级别的码农面临淘汰
  8. 数字包裹一键送达 “类邮件“模式了解一下!
  9. 第11周 oj 判断三角形
  10. 用python绘制一朵玫瑰花送给心上人