首页 > 数据库 >mybatis + oracle 批量修改

mybatis + oracle 批量修改

时间:2024-01-24 10:12:36浏览次数:41  
标签:批量 wafer totalData int batchSize oracle startIndex mybatis id

service层:
   int batchSize = 1000;
   int totalData = waferOrderList.size();
   int startIndex = 0;
        while (startIndex < totalData) {
            int endIndex = Math.min(startIndex + batchSize, totalData);
            List<WaferOrder> subIds = waferOrderList.subList(startIndex, endIndex);
            waferOrderMapper.updateWaferOrderByIds(subIds);
            startIndex += batchSize;
        }

mapper.xml

  <update id="updateWaferOrderByIds" parameterType="java.util.List">
        begin
        <foreach collection="waferList" item="wafer" separator=";">
            UPDATE wafer_order
            <set>
                <if test="wafer.woId != null">
                    wo_id = #{wafer.woId},
                </if>
                <if test="wafer.eventTime != null">
                    event_time = #{wafer.eventTime},
                </if>
                status = '已投单'
            </set>
            WHERE id = #{wafer.id}
        </foreach>
        ;end;
    </update>

 

标签:批量,wafer,totalData,int,batchSize,oracle,startIndex,mybatis,id
From: https://www.cnblogs.com/jessi200/p/17983990

相关文章

  • WHEN NOT MATCHED THEN语句在oracle中的用法
    WHENNOTMATCHEDTHEN这是一个在某些数据库系统(如Oracle)中使用的特殊子句,用于处理左连接中的"未匹配"情况。当左连接的条件不满足时,这部分的代码会执行。在这种情况下,如果O.DCSHYBH的值在L中没有匹配项,那么将插入一个NULL值或默认值。总的来说,这段代码执行了一个左连接操作,并根......
  • Oracle 21c-PL/SQL连接远程数据库的方式
    1、方式一:使用’IP:端口‘直接链接2、方式二:配置Oracle数据库连接器(1)打开NetManager(2)配置Oracle数据库服务器信息(3)打开PL/SQL,输入用户名、密码;数据库输入框输入'(2)中第4页配置的服务名'即可......
  • ORACLE translate函数
     1.语法  2.用途   (1)translate的返回值,是将expr(源字符串)参数中,所有对应在from_string(源字符串中想要被替换的字符)参数中所出现的字符,均按from_string参数中在to_string(想要源字符串中被替换的对应目标字符)参数中对应的字符替换掉后的值。expre源字符串中有......
  • rocketmq--同步、异步、批量、事务消息demo
    在SpringBoot中使用RocketMQ进行同步和异步消息传输的关键是使用RocketMQTemplate类。下面是两个例子,分别演示了如何实现同步和异步消息传输。首先,确保你已经添加了RocketMQ的依赖到你的pom.xml中,如下所示:<dependency><groupId>org.apache.rocketmq</groupId><artifa......
  • sudo提权,ansible批量给所有主机创建系统账户,授权
    sudo(superuseroranotherdo)让普通用户可以以超级管理员或其他人的身份执行命令。sudo基本流程如下:1.管理员需要先授权(修改/etc/sudoers文件)2.普通用户以sudo的形式执行命令3.可以通过sudo-l查看授权情况修改/etc/sudoers的方法如下:1.visudo(带语法检查,默认没有颜色提示)2......
  • [转帖]Oracle 12.2 新特性 | PDB不同字符集变更
    https://www.cnblogs.com/cqdba/p/8bef7c432b87807c0680d6791f427b09.html 在oracle12.1版本中,同一CDB中的所有PDB使用的都是相同的字符集,并且Plug-in时PDB也要和目标CDB相同字符集或者是子集,否则plug-in时会失败在PDB_PLUG_IN_VIOLATIONS视图提示,这样影响了PDB的迁移灵活......
  • [转帖]能使 Oracle 索引失效的六大限制条件
    Oracle索引的目标是避免全表扫描,提高查询效率,但有些时候却适得其反。例如一张表中有上百万条数据,对某个字段加了索引,但是查询时性能并没有什么提高,这可能是oracle索引失效造成的。oracle索引有一些限制条件,如果你违反了这些索引限制条件,那么即使你已经加了索引,oracle......
  • [转帖]Oracle Exadata X10M 数据库一体机发布,树立 OLTP 数据库性能新标杆
    https://www.modb.pro/db/653936 2023年6月25日消息,Oracle公司继续以其专用的Exadata平台重新定义OLTP数据库性能。上周,该公司延续了这一传统,推出了第十二个Exadata平台,即OracleExadataX10M数据库一体机。X10M的设计目的只有一件事:比市场上任何其他产品更......
  • Oracle AWR报告自动生成异常
    监控平台收集不到wrh$_tablespace_space_usage表数据。awr报告没有任何快照信息。alter日志发现报错:SuspendingMMONslaveactionkewrmafsa_for82800seconds MMON进程trace文件报错如下:UnabletoscheduleaMMONslaveat:AutoFlushMain1Slaveactionhasbeen......
  • RabbitMq批量删除队列
    RabbitMq批量删除队列​ 由于部分公司同事使用RabbitMq时,没有将Client设置为autodelete,导致大量冗余队列。其中这些队列又是无routekey队列,收到了批量的订阅消息,占用服务器内存。​ 如何将这些无用的队列删除成为一个问题?经过多次摸索,在rabbitmqmanagementapi里面找到了方案:u......