List进行分隔,分批插入数据库
背景,当数据集合超过一定数据量时,则会插入失败,需要将集合进行分隔,分批插入
/**
* 分批插入-公共方法
* @param objects:数据集合
* @param subSize:单次插入的条数
*/
public static <E> List<List<E>> splitTo(List<E> objects, int subSize) {
//1.确定数据要分几次插入(根据总条数和每次插入条数)
List<List<E>> lists = new ArrayList();
int idCount = objects.size();
//插入次数(批量插入数据库次数)
int loopTimes = idCount / subSize;
if (loopTimes * subSize < idCount) {
loopTimes++;
}
//2.把每一次插入的数据放到双重集合里
for(int i = 0; i < loopTimes; ++i) {
int fromIndex = i * subSize;
int toIndex = (i + 1) * subSize;
lists.add(objects.subList(fromIndex, toIndex > idCount ? idCount : toIndex));
}
return lists;
}
List进行分隔,分批插入数据库的更多相关文章
- Java实现http大文件流读取并批量插入数据库
1.概述 请求远程大文本,使用流的方式进行返回.需要设置http链接的超时时间 循环插入到List中,使用mybatis-plus批量插入到mysql中 2.需求 两台服务器 大文件放到其中一台服务器 ...
- Java MyBatis 插入数据库返回主键
最近在搞一个电商系统中由于业务需求,需要在插入一条产品信息后返回产品Id,刚开始遇到一些坑,这里做下笔记,以防今后忘记. 类似下面这段代码一样获取插入后的主键 User user = new User ...
- eclipse运行没问题,tomcat以脚本启动后插入数据库的中文会乱码
记一次部署工程的时候遇到的问题 部署war包到win7的时候发现,布上去后插入数据库的中文会乱码,然后发现用eclipse运行源码没问题,一开始以为是war打出来的时候编码错误,然后将eclipse的 ...
- C#把DataTable中数据一次插入数据库的方法
现在实际的情况是这样的: 客户有一台打卡机,员工打卡的信息全部储存在打卡机的Access数据库里面,现在客户引入了一种新的管理系统,需要将Access数据库中的打卡数据同步到SQL Server数据库 ...
- Java MySql 批量插入数据库addBatch
//addBatch批量插入数据库 public static void insertCommentToMySql(Set<String> commentList) { Iterator& ...
- PHP大批量插入数据库的3种方法和速度对比
第一种,使用insert into 插入,最后显示为:23:25:05 01:32:05 也就是花了2个小时多! $params = array(‘value'=>'50′); set_time ...
- MYSQL批量插入数据库实现语句性能分析
假定我们的表结构如下 代码如下 CREATE TABLE example ( example_id INT NOT NULL, name VARCHAR( 50 ) NOT NULL, value ...
- PHP实例 表单数据插入数据库及数据提取 用户注册验证
网站在进行新用户注册时,都会将用户的注册信息存入数据库中,需要的时候再进行提取.今天写了一个简单的实例. 主要完成以下几点功能: (1)用户进行注册,实现密码重复确认,验证码校对功能. (2)注册成功 ...
- 把QQ聊天记录插入数据库中
最近在做毕设,其中一个环节是分析qq聊天记录,在分析之前需要先把qq聊天记录导出,然后存入数据库中,qq聊天记录导出后是文本文档,导出方式: 1.登录qq后,点击任意一个好友,查看与他的聊天记录,点击 ...
- PHP+Mysql-表单数据插入数据库及数据提取完整过程
网站在进行新用户注册时,都会将用户的注册信息存入数据库中,需要的时候再进行提取.今天写了一个简单的实例. 主要完成以下几点功能: (1)用户进行注册,实现密码重复确认,验证码校对功能. (2)注册成功 ...
随机推荐
- 面试题 --MySQL事务
3.1 说一说你对数据库事务的了解 事务可由一条非常简单的SQL语句组成,也可以由一组复杂的SQL语句组成.在事务中的操作,要么都执行修改,要么都不执行,这就是事务的目的,也是事务模型区别于文件系统的 ...
- 安装指定版本homeassistant
pip3 install homeassistant==0.84.5
- vue.cli的安装配置
关于旧版本 Vue CLI 的包名称由 vue-cli 改成了 @vue/cli. 如果你已经全局安装了旧版本的 vue-cli(1.x 或 2.x),你需要先通过 npm uninstall vue ...
- mongodb-命令小结
小白暂时在这里记录些涉及到的 在某条记录添加一个字段: 先查询_id: db.subscriptions.find({"channel":"parking.notify. ...
- (0514)芯王国-志锐-Sd卡高速控制-AXI验证
(1)commit (2)core (3)generate (4)struct 结构体 (5)
- npm i error:0909006C:PEM routines:get_name:no start line 遇到问题解决
找了大半天的问题,结果是有个httpd的线程开机自动启动,把端口占用了
- python_lib_0001_decorator_print_log
def decorator_log_funcname( func ): def wrapper(*arg, **kw): print("") ...
- 转载-Shell脚本中字符串截取功能
在Shell脚本编写中,有几个地方都是要用到字符串截取的功能,那将这块的内容进行下记录: 1.字符串变量的截取操作 对字符串变量的截取操作一般都是通过${操作符}的方式进行 1)从指定位置index截 ...
- springcloud(七) - Sleuth链路追踪
服务跟踪的具体步骤 sleuth系统自动埋点并把数据发给zipkin,ziplin负责存储和展示数据. 具体实现 cmd执行jar 代码执行(server.licent都需要配) <!-- 添加 ...
- raise EOFError("Compressed file ended before the " EOFError: Compressed file ended before the end-of-stream marker was reached
参考: EOFError: Compressed file ended before the end-of-stream marker was reached解决办法(在Windows下查看已下载的M ...