mybatis mysql 批量更新_mysql批量update更新,mybatis中批量更新操作

在日常开发中,有时候会遇到批量更新操作,这时候最普通的写法就是循环遍历,然后一条一条地进行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:批量插入 批量插入就是在预编译的时候,将代码进行拼接,然后在数据库执行     

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值