{

boolean add = true;

Connection conn = null;

PreparedStatement pst = null;

String sql = null;

try

{

conn = this.getConnection();

conn.setAutoCommit(false);

// sql = "MERGE INTO PUSH_NUMBER T1 "

// + " USING (SELECT ? AS MOBILE, ? AS PKG_ID FROM DUAL) T2 "

// + " ON (T2.MOBILE=T1.USER_NUMBER AND T2.PKG_ID=T1.PKG_ID) " + " WHEN NOT MATCHED THEN "

// + " INSERT VALUES(SEQ_PUSH_NUMBER.NEXTVAL,?,?)";

sql = "insert into PUSH_NUMBER(NUMBER_ID,USER_NUMBER,PKG_ID) values(null,?,?)";

pst = conn.prepareStatement(sql);

int num = 0;

for (String mobile : numbers)

{

num++;

pst.setString(1, mobile);

pst.setInt(2, pkgId);

pst.addBatch();

if (num % 30000 == 0)

{

pst.executeBatch();

pst.clearBatch();

}

}

if (num > 0)

{

pst.executeBatch();

}

conn.commit();

}

catch (Exception e)

{

add = false;

logger.error("addNumber was failed!", e);

}

finally

{

if (null != pst)

{

pst.close();

}

if (null != conn)

{

conn.close();

}

}

return add;

}

spring jdbc批量入库

//采用insert into replace 检测手机号码是否存在,存在更新,不存在新增

String sql = "insert into push_token(token,mobile) values(?,?) on DUPLICATE KEY UPDATE token = ?";

List args = new ArrayList();

for (int i = 0; i < tokens.size(); i++) {

Object[] objects = new Object[]{tokens.get(i), mobiles.get(i), tokens.get(i)};

args.add(objects);

}

//3000条提交一次

ArrayList temp = new ArrayList(3000);

List copy = null;

for (Object[] objects : args) {

temp.add(objects);

if (temp.size() >= 3000) {

copy = (List) temp.clone();

temp.clear();

if (temp.isEmpty() && copy.size() >= 3000) {

getJdbcTemplate().batchUpdate(sql, copy);

}

}

}

if (temp.size() > 0) {

copy = (List) temp.clone();

temp.clear();

if (temp.isEmpty() && copy.size() > 0) {

getJdbcTemplate().batchUpdate(sql, copy);

}

}

mysql jdbc批量更新_jdbc批量更新数据相关推荐

  1. mysql jdbc驱动 批量更新_jdbc批量插入,删除,更新

    批量处理:一次向数据库发送多个SQL语句时,可以减少通信开销,从而提高性能. 不确定JDBC驱动程序是否支持此功能.应该使用DatabaseMetaData.supportsBatchUpdates( ...

  2. mysql jdbc 分页查询_JDBC与MySQL实现分页查询技术

    由于通过ResultSet的光标实现数据分页存在占用大量资源等性能方便的缺陷,所以,在实际开发中,通过采用数据库的分页机制来实现分页查询功能更为上上之策. 下面我就通过MySQL数据库提供的分页机制来 ...

  3. mysql jdbc无法连接_jdbc无法连接mysql

    mysql_connector_java_5.1.34_bin.jar(5.1.19驱动也不行) mysql5.6 代码: private static String JDBCDriver=" ...

  4. mysql jdbc 绑定变量_jdbc测试mysql数据库sql预解析(绑定变量)

    jdbc测试mysql数据库sql预解析(绑定变量) 用习惯了oracle,学习mysql,想测试一下mysql绑定变量的效果.以前看网上介绍大部份都说mysql没有sql共享池的概念,所以也不存在s ...

  5. mysql jdbc 表结构_JDBC操作表:JDBC修改表结构

    操作数据库:mysql 操作目的:通过增加字段,删除字段,修改字段和修改字段类型的方式让大家熟练掌握通过JDBC修改表结构. 在通过JDBC修改表结构前,我们还是先看下当前的表结构,如下图所示: 1. ...

  6. mysql jdbc连接失败_JDBC连接MySQL失败

    梳理一下连接需要注意的关键点 1.首先需要导入外部的驱动jar包,jar包与MySQL的版本最好对应,一般都是用最新的就没问题. 2.最新驱动加载时要使用Class.forname("com ...

  7. mysql jdbc连接串_jdbc连接字符串

    MySQL: String Driver="com.mysql.jdbc.Driver"; //驱动程序 String URL="jdbc:mysql://localho ...

  8. mysql jdbc 占位符_JDBC中占位符报错是什么鬼啊

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 import java.sql.*; import org.junit.Test; /** * 测试sql注入问题 * @author Wangjiany ...

  9. mybatis generator一对一映射,一对多映射,批量插入,批量更新

    mybatis-generator这是原来的github地址 现在在此基础上添加了一对一和一对多映射配置,配置在table标签上 如果需要一对一配置生成,需要添加插件配置 在context中添加如下配 ...

最新文章

  1. 基于Ubuntu交叉编译FFmpeg Windows SDK
  2. 读写分离原来这么简单,一个小注解就够了
  3. css编写要注意什么 及一些公用的样式和外部引用 转码
  4. 计算一个全息图片的两个设想
  5. 【iOS学习笔记】IOS开发中设置applicationIconBadgeNumber和消息推送
  6. 解决oracle中文数据乱码的问题
  7. java data是什么文件_如何用java实现 读取一个data类型文件 并显示出来(随便选择一种类型txt或者word)...
  8. 第九章 Libgdx内存管理
  9. linux dd入门,Linux基础知识:Linux中DD命令详解
  10. java基础排序_Java排序算法-Java入门|Java基础课程
  11. Stats mac免费版 2.4.9(支持M1驱动器的mac,最新macOS系统)
  12. Android布局_LinearLayout布局
  13. matlab自动识别粗大误差,剔除粗大误差
  14. sharp s2 android 9,夏普s2第三方ROM AOSP(Android P)v105
  15. 专业技能与职业素养报告计算机,职业技能与职业素养的心得体会
  16. JS实现滚动栏的效果
  17. 架狗屎:聊一聊 Spring Boot 服务监控机制
  18. 【luogu 3397】地毯 差分
  19. Qt编写视频监控管理平台(支持海康/大华/宇视/华为/天地伟业/H264/H265等)
  20. .NET5.0 初始

热门文章

  1. python super()函数(用来调用父类方法)
  2. Intel Realsense python 关于能否使用单个align对象去处理多个流 (对齐process)
  3. python os.removedirs() 和shutil.rmtree()(os.removedirs用于删除非空文件夹和子文件夹、shutil.rmtree用于删除文件夹下所有文件夹和文件)
  4. pycharm Enable Live Templates的作用
  5. Python 科学计算库 Numpy (二) —— 索引及切片
  6. DreamWeaver下如何应用CSS样式
  7. 安装OpenResty,实现分发层、应用层nginx+lua开发(附加问题:bad argument #2 to ‘set_keepalive‘ (number expected, got nil)
  8. php 删除文件时间,php删除文件后重建,文件创建时间(filectime)未变化怎么解决??...
  9. php 实验室管理系统,生物信息实验室管理系统-Metalims安装
  10. Linux环境下搭建 MySQL8 主从复制