`
jilong-liang
  • 浏览: 481471 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类

对数据批量处理插入数据库指定的表

    博客分类:
  • Java
阅读更多
package cn.flybird.test;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.TimeZone;

/**表
 * DROP TABLE IF EXISTS `test2`; 
 * CREATE TABLE `test2`
 * (`name` varchar(500)CHARACTER SET gbk DEFAULT NULL
 *  )
 *  ENGINE=MyISAM DEFAULT CHARSET=gbk;
 * 
 * @author Administrator
 * 
 */
public class Test2 {
	public static void main(String[] args) throws Exception {
		Class.forName("com.mysql.jdbc.Driver");
		Connection con = (Connection) DriverManager.getConnection(
				"jdbc:mysql://" + "localhost:3306/test?characterEncoding=GBK",
				"root", "root");
		// 关闭事务自动提交
		con.setAutoCommit(false);
		SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss:SS");
		TimeZone t = sdf.getTimeZone();
		t.setRawOffset(0);
		sdf.setTimeZone(t);
		Long startTime = System.currentTimeMillis();
		PreparedStatement pst = (PreparedStatement) con
				.prepareStatement("insert into test2 values (?)");// 对随便1个字段操作表!
		int bufferSize = 0;
		// 对数据库的一个表插1亿条数据
		for (int i = 1; i <= 100000000; i++) {
			bufferSize++;
			pst.setString(1, "插入第" + i + "条数据");//
			pst.addBatch();
			// 每1w条数据批量处理一次提交到数据库
			if ((bufferSize + 1) % 1000 == 0) {
				pst.executeBatch();
				con.commit();
				pst.clearBatch();// 批量清除一下!
			}
			// System.out.println("第("+i+")条");
		}
		int[] result1 = pst.executeBatch();//批量執行,如果不批量執行到一定數據時會有可能會報錯
		con.commit();
		System.out.println("Length:" + result1.length);
		// 语句执行完毕,提交本事务
		Long endTime = System.currentTimeMillis();
		System.out.println("用时:" + sdf.format(new Date(endTime - startTime)));
		pst.close();
		con.close();
	}
}

 

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.text.SimpleDateFormat;
import java.util.Date;

public class Test2 {
	/**
	 *  节日短信 1
	 *  生活短信 2
	 *  诗歌短信3
	 *  校园短信 4
	 *  幸福短信 5
	 *  幽默短信 6
	 */
	public static void main(String[] args) throws Exception {
		String path = "D:/SMS/xydx.txt";
		int typeId = 1;
		String content = "";
		Connection conn = DBHelper.getConnection();
		// 关闭事务自动提交
		conn.setAutoCommit(false);
		SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		PreparedStatement pst = conn.prepareStatement("insert into sms(Id,content,createTime,typeId) values (?,?,?,?)");
		int bufferSize = 0;

		FileReader read = null;
		BufferedReader reader = null;
		read = new FileReader(new File(path));
		reader = new BufferedReader(read);
		content = reader.readLine();
		while (content != null) {
			bufferSize++;
			pst.setInt(1, 0);
			pst.setString(2, content);
			pst.setString(3, format.format(new Date()));//
			pst.setInt(4, typeId);
			pst.addBatch();
			if ((bufferSize + 1) % 1000 == 0) {
				pst.executeBatch();
				conn.commit();
				pst.clearBatch();// 批量清除一下!
			}
			content = reader.readLine();
		}
		int[] result = pst.executeBatch();// 批量執行,如果不批量執行到一定數據時會有可能會報錯
		conn.commit();
		//System.out.println("Length:" + result.length);
		System.err.println("成功");
		// 语句执行完毕,提交本事务
		DBHelper.close(null, pst, conn);
	}
}

 

0
4
分享到:
评论

相关推荐

    C#大数据批量插入Access程序

    本程序" C#大数据批量插入Access程序 "就是针对这种需求而设计的,它允许开发者高效地将大量数据导入到Access数据库中。 Access数据库虽然在处理大规模数据时可能不如SQL Server等大型数据库系统强大,但在某些场景...

    技术支持利用JSON数据批量操作数据库(插入、更新)

    本篇文章详细介绍了如何利用JSON数据批量操作数据库(插入、更新),包括JSON数据的解析、数据库的连接与操作以及异常处理等方面的知识点。通过这些知识点的学习,读者可以更好地理解和应用相关的技术,在实际项目...

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

    在Java开发中,处理大量数据时,...通过以上步骤,我们可以高效地使用EasyExcel处理Excel文件,实现并发读取、数据校验、写入新文件以及批量插入数据库的功能。这在处理大量数据时能显著提高效率,降低系统资源消耗。

    图片批量导入oracle数据库

    本话题聚焦于如何批量导入图片到Oracle数据库,这是一种常见的需求,特别是在处理大量图像数据的项目中。Oracle数据库作为一款强大的关系型数据库管理系统,支持多种类型的数据存储,包括BLOB(Binary Large Object...

    批量插入、 更新数据库数据

    总结起来,批量插入和更新数据库数据是数据库管理的重要操作,涉及SQL语句的编写、数据格式的处理和数据库驱动的使用。在实际开发中,还需要考虑性能优化,如事务处理、错误处理和并发控制,以确保数据的一致性和...

    利用datagridview控件实现批量输入数据并存入数据库

    为了实现数据的批量插入功能,我们需要定义一个插入命令,并将其添加到`SqlDataAdapter`对象中。示例如下: ```csharp string addsql = "insert into dbo.data(id, name, kc) values(@id, @name, @kc)"; da....

    C#实现Oracle数据批量导入

    C#实现Oracle数据批量导入 在本文中,我们将讨论如何使用C#语言实现对Oracle数据库的批量数据导入功能。本文的主要内容包括如何使用Oracle.DataAccess.Client命名空间来实现批量导入功能,以及如何使用SqlBulkCopy...

    oracle数据库中批量插入问题

    在Oracle数据库中,批量插入数据是一项关键技能,尤其在处理大量数据时,它能显著提高数据操作效率。本文将深入探讨Oracle数据库中的批量插入技术,包括其原理、实现方法以及一个具体的C#代码示例。 ### Oracle批量...

    java代码oracle数据库批量插入

    这段Java代码通过JDBC实现了向Oracle数据库批量插入数据的功能。关键步骤包括:建立数据库连接、准备SQL语句、批量添加SQL语句到批处理队列、执行批处理以及事务提交。这种方式相比于逐条插入数据,可以显著提升插入...

    批量导入数据库中数据

    4. **数据预处理**:在批量导入前,可能需要对数据进行清洗,比如去除空格、转换数据类型、处理缺失值等,以确保数据符合数据库的规范。 5. **事务处理**:为了保证数据的一致性,批量导入通常在一次大事务中完成。...

    从excel中导入数据到mdb数据库中指定字段

    易语言可以构建和执行SQL命令,批量插入数据到指定字段。 6. **事务处理**:为了保证数据的一致性,可以使用事务处理。如果在导入过程中发生错误,可以回滚事务,避免部分数据导入成功,部分失败的情况。 7. **...

    VC 演示如何使用insert语句批量向数据库插入数据.rar

    这个我感觉挺有用处吧,一般情况下,我们录入都是一条一条的,但信息量较大的时候,就需要批量插入数据了,我们可以先读取外部指定格式的文件,然后将数据转换为可插入的格式,然后使用insert批量向数据库中插入数据...

    数据库批量数据拷贝

    数据库批量数据拷贝是一项在IT领域中常见的任务,特别是在数据迁移、备份或分析时。它涉及到从一个数据库中选择性地或整体地复制数据到另一个数据库。以下是对这个主题的详细解释: 首先,批量数据拷贝的核心是有效...

    JDBC批量插入 更新 删除等操作

    **批量插入**主要用于数据导入和日志记录等场景。例如,在日志系统中,通常会将日志信息先写入到文件中,然后再定期批量导入到数据库中进行存储和分析。下面详细介绍JDBC批量插入的具体实现方式: 1. **使用...

    jdbc-批量插入数据

    批量插入数据是数据库操作中常见的一种优化策略,特别是在数据分析、数据迁移或大数据处理等场景。传统的单条插入方式可能会导致大量的网络往返和数据库事务开销,而批量插入则通过一次提交多个SQL语句来减少这些...

    如何通过txt文件批量导入数据到oracle数据库

    通过以上步骤,我们可以有效地将TXT文件中的数据批量导入到Oracle数据库。这不仅提高了工作效率,还降低了因手动操作引发的错误概率。在实际工作中,理解并熟练运用这些方法,对于数据库管理和数据分析具有很大的...

    数据库表生成插入语句工具

    综上所述,"数据库表生成插入语句工具"是一个实用的数据库管理助手,尤其对于需要频繁处理大量数据插入的开发者而言,它能显著提高工作效率,减少手动工作,并确保数据导入的准确性。通过选择合适的工具并结合其功能...

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

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

    Flink Kafka数据批量写入到数据库

    4. **批量写入数据库**:为了将处理后的数据批量写入数据库,我们可以使用 Flink 的 JDBC 输出格式。首先,我们需要配置数据库连接参数,然后创建一个 `JDBCOutputFormat` 并设置 SQL 插入语句。 ```java ...

    VB 利用UPDATE语句批量更新数据表中的数据

    在VB(Visual Basic)编程环境中,我们经常需要与数据库进行交互,这包括读取、插入、更新和删除数据。在本教程中,我们将专注于“利用UPDATE语句批量更新数据表中的数据”这一主题。UPDATE语句是SQL语言的一个重要...

Global site tag (gtag.js) - Google Analytics