首页 > 数据库 >Mybatis保存多记录,导致SQL过长,保存失败,按指定次数切分,多次保存。

Mybatis保存多记录,导致SQL过长,保存失败,按指定次数切分,多次保存。

时间:2023-11-23 12:00:38浏览次数:34  
标签:WORKITEM MAX NUMBER 保存 limit SQL Mybatis Integer

 

    private static final Integer WORKITEM_MAX_NUMBER = 200;
    private int savePbhProblemworkitem(List<ProblemWorkitemVm> problemworkitem) {
        try {
            int count = 0;
            int limit = countStep(problemworkitem.size(), WORKITEM_MAX_NUMBER);
            List<List<ProblemWorkitemVm>> splitList = Stream.iterate(0, n -> n + 1).limit(limit).parallel().map(a -> problemworkitem.stream().skip(a * WORKITEM_MAX_NUMBER).limit(WORKITEM_MAX_NUMBER).parallel().collect(Collectors.toList())).collect(Collectors.toList());
            for(List<ProblemWorkitemVm> pwList : splitList){
                count += pgMapper.savePbhProblemWorkitem(pwList);
            }
            return count;
        } catch (Exception e) {
            log.error(e.getMessage());
            return 0;
        }
    }

    /**
     * 计算切分次数
     */
    private static Integer countStep(Integer size, Integer maxNumber) {
        return (size + maxNumber - 1) / maxNumber;
    }

 

标签:WORKITEM,MAX,NUMBER,保存,limit,SQL,Mybatis,Integer
From: https://www.cnblogs.com/LittleMaster/p/17851256.html

相关文章

  • VS Code 关闭保存自动格式化
    解决方法1VSCode中打开设置,搜索框输入formatonsave找到"Editor:FormatOnSave"选项,取消勾选。但这种方式对本次无效果 解决方法2解决方法1无效,后面查找资料发现是插件JS-CSS-HTMLFormatter导致的,禁用这个插件并重载即可 ......
  • NoSQL数据库比对
    NoSQL数据库比对SQL和NoSQL概念SQL:结构化查询语言(StructuredQueryLanguage)简称SQL,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。该语言以表格的形式从结构化数据格式中操作和检索数据。NoSQL:NoSQL,泛指非关系型......
  • pgsql获取数据所有的表的字段和字段属性
    selectDISTINCTORDINAL_POSITIONasrn,table_nameas"tb_name",column_nameas"en_name",(caseudt_nameWHEN'numeric'THEN'number'WHEN'decimal'THEN'number'WHEN'int4'THEN......
  • 一个基于php+mysql的外卖订餐网站(带源码)
    订饭组一个基于php+mysql的外卖订餐网站,包括前端和后台。测试账号:admin密码:admin运行环境:Apache+PHP+Mysql代码说明htaccessRewrite配置文件,需要放入到项目根目录configs.php需要配置数据库连接信息(主机、用户名、密码),系统常量等data.sql位于data目录中,是数据库备份文件,需要提......
  • sql注入里面用到的语法
    showdatabases;//查看数据库usexxx;//使用某个数据库showtables;//查看该数据库的数据表descxxx;//查看该数据表的结构select*fromxxx;//查找某个数据表的所有内容selectschema_namefrominformation_schema.schemata;//猜数据库selecttable_namefrominfo......
  • Sqlserver日志传送高可用搭建
    1.原理主数据库定时备份事务日志到共享文件夹,辅助数据库定时从共享文件夹把事务日志备份复制到本地文件夹中,辅助数据库定时将本地文件夹中的事务日志备份还原到数据库上。2.修改服务启动账户2.1.为什么修改如果使用默认的NTSERVICE\MSSQLSERVER用户启动SQLServer,NTSERVICE\S......
  • postgresql中执行select查询语句卡住问题的处理
     1、问题描述 研发环境搭建的分布式的数据库Tbase。Tbase本质上是基于postgresql-xl创建的分布式数据库。昨天,研发的同事反馈,这个数据库中,对某个表执行select查询的时候,都是卡住的。客户端一直没有影响。 2、问题分析 我这边通过pg的客户端进行连接,发现除了这个......
  • SQL优化
    1、用join连接代替子查询,尽量避免使用子查询2、只返回必要的列,用具体的字段名代替select*语句3、如果对groupby语句的结果没有排序要求,要在语句后面加orderbynull(group默认会排序)4、尽量使用where子句代替having子句(where是先过滤,having是后过滤)  参考文章【1】htt......
  • mysql大数据量的分页慢优化
    例子这边通过一张40w条记录的表来说明一下优化大数据量表分页慢的思路表单自带拼接语句SELECTtbPage.*FROM(SELECTtbTemp.*,row_number()over(ORDERBYID)-1ASrownum__FROM(SELECT__T1.IDA......
  • 05MYSQL
    python操作MySQLpython中支持操作MySQL的模块很多其中最常见的当属'pymysql'#属于第三方模块pip3installpymysql(需要安装,可以直接在pycharm中打出来,然后会提示安装)#基本使用importpymysql#1.链接服务端淡黄色表示必须要写的前戏conn_obj=pymysql.......