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 ...
随机推荐
- smarty 模板编译和变量调节器 模板引入
<?php require './smarty/Smarty.class.php'; $sm = new Smarty; //$sm->force_compile = true; $sm- ...
- python 与时间有关的操作
python保存时间戳文件 import time # ISOTIMEFORMAT='%Y-%m-%d %X' ISOTIMEFORMAT='%Y-%m-%d' t= time.strftime( I ...
- erlang异常处理备忘
捕获所有异常得用_:_,看例子 try aa:bb() of Value -> Value catch _:_ -> "" end 如果单表达式不需要有返回值,直接异常 ...
- k8s1.4.3安装实践记录(3)下载基础镜像
下载基础镜像,因为Google被墙,所以我们用时速云中的镜像来tag docker pull index.tenxcloud.com/google_containers/pause-amd64:3.0 ...
- postman批量执行 要给请求加断言,批量执行的时候才会去统计,成功和失败的条数
1.设置请求断言后保存 2.点击runner去批量执行 3.有断言的请求就会统计
- 一个jquery-ajax post例子ajax 登陆
index.html文件 <html> <head> <meta http-equiv="Content-Type" content="te ...
- python 绘图库 Matplotlib
matplotlib官方文档 使用Matplotlib,能够轻易生成各种图像,例如:直方图.波谱图.条形图.散点图等. 入门代码实例 import matplotlib.pyplot as plt i ...
- 【BZOJ】2006: [NOI2010]超级钢琴(前缀和+RMQ+堆)
题目 传送门:QWQ 分析 又不会做....... 显然很好想到前缀和处理一下. 然后考虑最大化结果,直接上st表. 问题来了,然后呢? 怎么做$ length \in [l,r] $ 呢? 正解是 ...
- 聚合模型---K-Means
聚类模型:K-Means 聚类(clustering)属于无监督学习(unsupervised learning) 无类别标记 在线 demo:http://syskall.com/kmeans.js ...
- Novell云计算
老牌操作系统NetWare,淡出人们的视野,已记不清是哪一年的事了.不过,它的拥有者-NOVELL公司,却没有像自己曾经红极一时的OS那样被人遗忘.相反,在今天云计算的大潮中,Novell华丽转身,摇 ...