`
jyangzi5
  • 浏览: 213657 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

批量插入数据

 
阅读更多
public boolean insertForBatch(List<MessageBatchBean> list) {
//分批插入5000条记录插一次
final int MAX_VALUE = 5000;
int countNum = 0;
Connection conn = null;
PreparedStatement pstmt = null;
try {
conn = JdbcPool.getJdbcPool().getConnection_Radius();
System.out.println("&&&&&&&&&&&&&&&&&&链接成功&&&&&&&&&&&&&&&&&&&");
pstmt = conn
.prepareStatement("insert into sms_notifyuser (CHANNELID, SERIALID, ACPTNBR, NOTIFYTYPE, SMCONTENT, SENDNBR, INTIME, STATE, UPDATETIME) values (?, ?, ?, ?, ?, ?, ?, ?, ?)");
MessageBatchBean mb = null;

int count = list.size() / MAX_VALUE;

long startSum = System.currentTimeMillis();
for (int t = 0; t < count; t++) {
long start = System.currentTimeMillis();
for (int i = MAX_VALUE * t; i < MAX_VALUE * (t + 1); i++) {
if (i >= list.size())
break;
mb = (MessageBatchBean) list.get(i);
pstmt.setString(1, mb.getChannelID());
pstmt.setString(2, mb.getSerialID());
pstmt.setString(3, mb.getAcptNbr());
pstmt.setString(4, mb.getNotifyType());
pstmt.setString(5, mb.getSMContent());
pstmt.setString(6, mb.getSendNbr());
pstmt.setString(7, mb.getINTime());
pstmt.setString(8, mb.getState());
pstmt.setString(9, mb.getUpdateTime());

pstmt.addBatch();
countNum++;
}
long end = System.currentTimeMillis();
System.out.println("addBatch耗时:" + (end - start) + "ms");
pstmt.executeBatch();
conn.commit();
long end2 = System.currentTimeMillis();
System.out.println("executeBatch耗时:" + (end2 - end) + "ms");
}
long endSum = System.currentTimeMillis();
System.out.println("总共插入了" + countNum + "条数据!");
System.out.println("总耗时:" + (endSum - startSum) + "ms");

} catch (SQLException e) {
e.printStackTrace();
} finally {
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
return true;

}
分享到:
评论

相关推荐

    ACCESS和SQL批量插入数据工具

    这款工具专为数据库管理员和开发人员设计,用于快速、高效地向ACCESS和SQL Server数据库中批量插入数据,尤其在进行负荷测试时,它能显著提高工作效率。 首先,我们来了解一下ACCESS。ACCESS是Microsoft Office套件...

    sql下三种批量插入数据的方法

    本文将介绍三种批量插入数据的方法。第一种方法是使用循环语句逐个将数据项插入到数据库中;第二种方法使用的是SqlBulkCopy,使您可以用其他源的数据有效批量加载 SQL Server 表;第三种使用的方法是sql server中的...

    C# 批量插入数据方式

    在C#编程中,批量插入数据是数据库操作中常见的需求,尤其在处理大量数据时,为了提高效率,避免频繁的数据库交互,批量插入是必不可少的技巧。本篇将详细讲解如何在C#中实现批量插入数据,以及涉及的相关知识点。 ...

    jdbc-批量插入数据

    本文将深入探讨如何使用JDBC进行批量插入数据,这在处理大量数据时能显著提高性能。 批量插入数据是数据库操作中常见的一种优化策略,特别是在数据分析、数据迁移或大数据处理等场景。传统的单条插入方式可能会导致...

    批量插入数据到Oracle数据库Demo

    本教程将详细讲解如何进行批量插入数据到Oracle数据库,以提高数据导入的效率。 批量插入数据到Oracle数据库通常比单条插入更有效率,因为它减少了与数据库的交互次数,降低了网络延迟,并减少了系统资源的占用。...

    批量插入数据软件-含详细流程说明

    当我们需要快速填充大量的测试数据或初始化数据库时,批量插入数据软件就显得尤为实用。本篇将详细阐述如何使用一款专业的数据库智能创建数据软件,它具备自动导入百万条数据的能力,并且允许用户自定义数据格式,...

    oracle 批量插入数据存储过程

    oracle 批量插入数据存储过程。亲测好用。支持 plsql ,toad,等数据库分析软件。主要包括变量的定义,循环及游标的使用等, 亲测好用

    C# Oracle批量插入数据进度条的实现代码

    考虑到当Excel数据量较大时,循环Insert语句效率太低,故采用批量插入的方法。在插入操作运行时,会造成系统短暂的“卡死”现象。为了让用户知道插入的状态,需要制作一个进度条来显示插入的进度。 批量插入 项目中...

    Spring JdbcDaoSupport 批量插入数据

    本文将深入探讨如何利用`JdbcDaoSupport`进行批量插入数据的操作,以及其背后的原理和源码分析。 首先,`JdbcDaoSupport`是`AbstractJdbcDaoSupport`的子类,它提供了对JDBC访问的便捷封装,允许开发者无需直接管理...

    EasyExcel 并发读取文件字段并进行校验,数据写入到新文件,批量插入数据到数据库

    5. **批量插入数据到数据库** 在数据处理过程中,往往还需要将数据批量插入到数据库。EasyExcel提供了一个`executeBatchInsert`方法,可以配合JDBC或其他ORM框架如MyBatis,将数据批量插入到数据库。首先,我们需要...

    Delphi批量插入数据库数据..rar

    本压缩包“Delphi批量插入数据库数据”可能包含了一个或多个示例代码,用于演示如何在Delphi中高效地向数据库批量插入数据。 批量插入数据是数据库操作中的常见需求,尤其是在处理大量数据时,为了提高效率和减少...

    ASP 批量插入数据

    在ASP(Active Server Pages)开发中,批量插入数据是一个常见的需求,特别是在处理大量记录时,为了提高效率,避免频繁的数据库交互,批量插入是必不可少的技术。本文将详细讲解如何在ASP中实现批量插入数据,以及...

    Java实现mybatis批量插入数据到Oracle

    本篇文章将详细介绍如何利用Java和MyBatis实现批量插入数据到Oracle数据库中。 首先,我们需要理解Oracle数据库的一些基本概念。Oracle是世界上最流行的商业关系型数据库管理系统之一,以其强大的功能和高可靠性而...

    支持批量插入的Delphi数据输入程序.rar

    支持批量插入的Delphi数据输入程序,配合数据实现的数据批量输入程序,程序的原型是一个学生管理程序,用来输入学生的基本信息,本程序添加了批量插入数据的功能,可看作是一个批量插入数据的实例吧。相关的代码: ...

    C#SqlBulkcopy批量插入数据

    在.NET框架中,C#提供了一个非常强大的工具——SqlBulkCopy类,用于高效地将大量数据从一个数据源批量插入到SQL Server数据库中。相比于传统的单条INSERT INTO语句,SqlBulkCopy在处理大规模数据导入时能显著提高...

    Hbase笔记 —— 利用JavaAPI的方式操作Hbase数据库(往hbase的表中批量插入数据).pdf

    在本文档中,我们将深入探讨如何使用Java API与HBase数据库进行交互,特别是关于如何创建表、修改表结构以及批量插入数据。HBase是Apache的一个分布式、可扩展的大数据存储系统,它基于谷歌的Bigtable设计,适用于...

    mybaits 多线程 实现数据批量插入 (运用CountDownLatch实现闭锁)

    在批量插入数据的场景下,可以创建一个CountDownLatch对象,初始化为线程的数量,每个线程处理完自己的数据后调用`countDown()`方法,主线程通过调用`await()`方法等待所有线程完成后再执行后续操作,如提交事务。...

    HQL批量插入、更新和删除

    在批量插入数据时,需要注意内存管理问题。如果一次性插入大量数据,可能会导致`OutOfMemoryError`异常。为了避免这种情况的发生,在进行批量插入操作时,可以采用以下策略: 1. **分批提交**:将大批量的数据分割...

    mysql批量插入数据运行脚本

    你需要先创建存储过程,然后调用...存储过程可以通过循环批量插入数据,提高代码的重用性和可维护性。 这样的好处:逻辑封装:复杂的插入逻辑可以封装在存储过程内,易于管理。 灵活性:可以根据参数动态调整插入行为。

    批量插入数据到数据库请使用MysqlBulkCopy.dll.zip

    最近跟客户做数据对接比较多,发现平常的添加到数据库数据太慢,所以也没少逛论坛。结合论坛上的资料封装...插入数据库数据请使用SqlBackCopy。下载过的朋友我这个帖子行或者不行麻烦给在下评论下,希望能帮更多的人。

Global site tag (gtag.js) - Google Analytics