mybatis+oracle如何批量执行多条update
接口
public void setStatus(List<Columns> columnsList);
mapping xml
mapping 中使用foreach,关于标签的使用,资料非常多,在此不再赘述。例如:
<update id="setStatus">
<foreach collection="list" index="index" item="col" open="begin" close=";end;" separator=";">
UPDATE ${col.funName}
<set>
STATUS = #{col.status}
</set>
<where>
del_flag = '0'
AND FILLINYEAR = #{col.value}
AND UNITID = #{col.id}
</where>
</foreach>
</update>
注意:
1、foreach参数: open="begin" close=";end;" separator=";" 是关键,如果不适用open="begin" close=";end;"会出现如下错误:
### The error may involve defaultParameterMap
### The error occurred while setting parameters
2、${col.funName}:这里传入的是表名 所以要使用 ${}对于${}和#{}的使用在此不再赘述。
结果:
2018-05-18 09:11:37,787 DEBUG [modules.stat.dao.FillininfoDao.setStatus] - ==> Preparing: begin UPDATE MOST_STAT_UNITBASEINFO SET STATUS = ? WHERE del_flag = '0' AND FILLINYEAR = ? AND UNITID = ? ; UPDATE MOST_STAT_BASERESOURCES SET STATUS = ? WHERE del_flag = '0' AND FILLINYEAR = ? AND UNITID = ? ;end;
2018-05-18 09:11:37,787 DEBUG [modules.stat.dao.FillininfoDao.setStatus] - ==> Parameters: B01(String), 2018(Integer), 62647d208d924ab8aa81ded8db037530(String), B01(String), 2018(Integer), 62647d208d924ab8aa81ded8db037530(String)
mybatis+oracle如何批量执行多条update的更多相关文章
- mybatis oracle mysql 批量插入时的坑爹问题--需谨记
mybatis oracle mysql 批量插入一.oracle的批量插入方式insert into db(id, zgbh, shbzh) select '1', '2', '3' from du ...
- sql执行万条update语句优化
几个月没有更新笔记了,最近遇到一个坑爹的问题,顺道记录一下.. 需求是这样的:一次性修改上万条数据库. 项目是用MVC+linq的. 本来想着用 直接where() 1 var latentCusto ...
- 【二十四】使用mysqli扩展类批量执行多条sql语句
批量处理多个sql语句 <?php //批量执行多个dml语句 // $mysqli=new mysqli("localhost","root",&quo ...
- springboot+Mybatis+MySql 一个update标签中执行多条update sql语句
Mysql是不支持这种骚操作的,但是不代表并不能实现,只需要在jdbc配置文件中稍微做一下修改就行. driver=com.mysql.jdbc.Driver url=jdbc:mysql://127 ...
- mybatis+oracle的批量插入
// 批量插入,手动控制事务 SqlSession batchSqlSession = null; try { batchSqlSession = sqlSessionTemplate.getSqlS ...
- Mybatis + Oracle 批量insert的问题
这个问题真的太坑了 之前用ibatis+sql server 的foreach 很容易就写出来批量insert数据,但是测试后报错:SQL结束格式错误 现在换到银行工作,数据库也换成Oracle了 特 ...
- Mybatis中进行批量更新(updateBatch)
更新多条数据,每条数据都不一样 背景描述:通常如果需要一次更新多条数据有两个方式,(1)在业务代码中循环遍历逐条更新.(2)一次性更新所有数据(更准确的说是一条sql语句来更新所有数据,逐条更新的操作 ...
- 完蛋,公司被一条 update 语句干趴了!
大家好,我是小林. 昨晚在群划水的时候,看到有位读者说了这么一件事. 在这里插入图片描述 大概就是,在线上执行一条 update 语句修改数据库数据的时候,where 条件没有带上索引,导致业务直接崩 ...
- [转载]Oracle批量执行
FROM: http://www.cnblogs.com/wangyayun/p/4514411.html //批量添加20000条数据用时8秒. try { String url = "j ...
随机推荐
- jeecg中List页面的高级查询
1.普通的高级查询 <t:datagrid name="orderworthList" title="订单价值统计" actionUrl="or ...
- 网站建设之高速WEB的实现
1.此文目的 漂亮的色彩.绚丽的动画在输入网址后便能呈现在你的眼前.互联网无可否认已经融入了我们的生活. 我们可以山寨出iPhone却很难有属于自己独特的理念关于事物的思想和心脏. 互联网是现实.艺术 ...
- (转)Inno Setup入门(三)——指定压缩方式
本文转载自:http://blog.csdn.net/augusdi/article/details/8564796 Setup段中的compression指定了采用的压缩方式,较高的压缩率需要较多的 ...
- 实现Runnable接口和继承Thread类
如果欲创建的线程类已经有一个父类了,就不能再继承Thread类了,java不支持多继承. 实现Runnable接口: package multyThread; public class MyRuna ...
- node+express+ejs搭建一个简单的"页面"
1.建立工程文件夹my_ejs. 2.首先利用npm install express和npm install ejs 下载这两个家伙.至于要不要设置成全局的,看习惯,我习惯性的下载到本项目中的文件夹中 ...
- 5月9日上课笔记-网页定位、网页动画【HTML5】
一.网页定位 position: static (默认值) relative 相对定位(相对原来的位置) right left botton top absolute 绝对定位 fixed: 固定定位 ...
- 查看Unix/Linux的CPU个数和内存大小,系统位数(转载)
一.AIX 1.查看CPU数: (1) smtctl 从AIX5.3起,对于power5的机器,系统引入了SMT(Simultaneousmulti-threading)的功能,其允许两个处理线程在同 ...
- 两栏自适应布局,右侧div宽高不定
.main,.sitebar{ height: 300px; font: bolder 20px/300px "微软雅黑"; color: bl ...
- 压测工具Locuse的使用
我是听朋友提起的"蝗虫"(Locust),然而她不想用python,我就拿来试一试~ http的 各种压测工具也已经太多了,所以主要是试试locust在当前比较流行的rpc协议上的 ...
- PHP根据问题追踪代码技巧一
1.问题描述: 2.E:\html\pim\php_aspire-mcloud\module\pim\controller\Configure.class.php public function po ...