`
Sharpleo
  • 浏览: 572806 次
  • 性别: Icon_minigender_1
  • 来自: newsk
社区版块
存档分类
最新评论

java jdbc向数据库插入大量数据

    博客分类:
  • java
阅读更多
1899942 ,新疆-乌鲁木齐
1899944 ,新疆-哈密
1899946 ,新疆-吐鲁番
1899948 ,新疆-塔城
1899950 ,新疆-克拉玛依
1899952 ,新疆-克拉玛依
1899954 ,新疆-昌吉
1899956 ,新疆-昌吉
1899958 ,新疆-伊犁
1899960 ,新疆-库尔勒
1899962 ,新疆-库尔勒
1899964 ,新疆-喀什
1899966 ,新疆-阿克苏
1899968 ,新疆-哈密
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
有几万条这样的数据需要插入数据库


public class Main { 
public static void main(String[] args) throws Exception{ 
String sql = "insert into mobile_place(number,place) values(?,?)"; 
int count = 0;//计数器 
Connection conn = JDBCUtil.getConnection(); 
PreparedStatement pstmt = conn.prepareStatement(sql); 
try { 
InputStreamReader is = new InputStreamReader(new FileInputStream(new File("D:/CC.txt")),"utf-8"); 
BufferedReader br = new BufferedReader(is); 
while(br.readLine() != null){ 
conn.setAutoCommit(false);//设置数据手动提交,自己管理事务 
count++;//没读取一行数据,计数器+1 
String str = br.readLine().toString().trim();//读取一行数据 
String s1 = str.substring(0, str.indexOf(","));//取逗号以前的一段 
String s2 = str.substring(str.indexOf(",")+1,str.length());//取逗号之后的一段 
pstmt.setString(1, s1); 
pstmt.setString(2, s2); 
pstmt.addBatch();//用PreparedStatement的批量处理 

if(count%500==0){//当增加了500个批处理的时候再提交 
pstmt.executeBatch();//执行批处理 
conn.commit();//提交 
conn.close();//关闭数据库 
conn = JDBCUtil.getConnection();//重新获取一次连接 
conn.setAutoCommit(false); 
pstmt = conn.prepareStatement(sql); 
} 
System.out.println("已插入"+count+"条数据"); 
} 
if(count%500!=0){//while循环外的判断,为了防止上面判断后剩下最后少于500条的数据没有被插入到数据库 
pstmt.executeBatch(); 
conn.commit(); 
} 
pstmt.close(); 
conn.close(); 
} catch (Exception e) { 
e.printStackTrace(); 
} 
} 
} 
500可以自己增大,执行效率很高。比单挑执行再插入快多了 

getConnection()为获取数据库连接 
public static Connection getConnection(){ 
try { 
Class.forName("com.mysql.jdbc.Driver"); 
} catch (ClassNotFoundException e) { 
e.printStackTrace(); 
} 
try { 
conn = DriverManager.getConnection(url, userName, password); 
} catch (SQLException e) { 
e.printStackTrace(); 
} 
return conn; 
}
分享到:
评论
1 楼 恋无涯 2016-03-23  
希望还是改进一下吧,不要重复
br.readLine();
读的都是偶数条

相关推荐

    java连接数据库并且向数据库插入数据

    在Java编程中,连接数据库并插入数据是一项基本且重要的任务,尤其在开发Web应用程序时,如JSP(JavaServer Pages)和Servlet结合MySQL数据库的场景。在这个过程中,开发者需要掌握如何配置数据库连接、编写SQL语句...

    java利用jdbc连接数据库之插入数据.docx

    ### Java利用JDBC连接数据库之插入数据 #### 技术方案概述 本文档详细介绍了如何使用Java编程语言结合JDBC(Java Database Connectivity)技术来实现与数据库的连接,并完成数据的插入操作。JDBC是一种用于执行SQL...

    JAVA中向数据库中插入数据的源代码

    在Java编程中,向数据库插入数据是常见的操作之一,尤其在构建桌面应用或者Web应用时。本示例将重点讲解如何使用Java与Microsoft Access数据库进行交互,实现数据的插入功能。Access是一种轻量级的关系型数据库管理...

    PG-java jdbc连接数据库

    Java JDBC(Java Database Connectivity)是Java平台中用于与各种数据库进行交互的标准API。本篇文章将深入探讨如何使用JDBC连接PG数据库,以及实现数据的增删改查操作。 首先,我们需要了解JDBC的基本概念。JDBC是...

    用java程序怎么实现200ms往数据库中插入10000条数据

    Java 实现高效数据库插入数据 在 Java 程序中,实现高效的数据库插入数据是非常重要的。以下是相关的知识点: 使用 JDBC 连接数据库 在 Java 程序中,使用 JDBC(Java Database Connectivity)连接数据库是非常...

    java JDBC连接数据库代码大全

    ### Java JDBC连接数据库代码大全详解 #### 一、JDBC基础概述 JDBC(Java Database Connectivity)是一种标准的Java API,允许Java程序连接并操作各种类型的数据库。它为开发人员提供了一种统一的方式,以便使用...

    用java JDBC访问数据库全部内容

    Java JDBC(Java Database Connectivity)是Java编程语言与各种数据库交互的一种标准接口,它允许Java程序通过SQL语句来操作数据库。本教程将详细介绍如何使用Java JDBC访问数据库的全过程,包括连接数据库、执行SQL...

    JAVA JDBC访问数据库

    总之,Java JDBC提供了一种高效、可靠的手段来与各类数据库进行交互,通过SQL语句实现数据的增删改查,广泛应用于各种Java应用程序中,尤其是需要持久化数据的场景。通过学习和掌握JDBC,开发者可以更好地设计和实现...

    数据库实验8 java连接数据库(JDBC代码+报告)

    程序实现了使用Java语言编程实现对数据库的访问,所有的SQL操作均在自己建立的新库里进行,数据库建议选用学生课程数据库,可以选择进行创建、插入、查询、删除和更新等操作,其中查询操作可以按学号、姓名、专业...

    Java使用JDBC向MySQL数据库批次插入10W条数据(测试效率)

    在Java开发中,当需要向MySQL数据库大量插入数据时,使用JDBC的批量处理功能可以显著提高效率。本文将详细讲解如何使用JDBC批量插入10万条数据,并探讨其背后的原理和优化策略。 批量处理在JDBC中主要通过Statement...

    Java中JDBC连接数据库详解

    Java中JDBC连接数据库详解 Java中JDBC连接数据库详解是指Java程序使用JDBC(Java Database Connectivity)来连接和操作数据库的过程。JDBC是一种Java API,用于连接和操作数据库,它提供了一套标准化的接口,允许...

    jdbc.rar_java jdbc_java 数据库 连接_jdbc_jdbc-odbc_数据 插入 删除

    在本教程中,我们将深入探讨如何在Java环境下,特别是MyEclipse开发环境中,利用JDBC进行数据库的连接、数据的插入以及删除操作。 首先,要使用JDBC,你需要在项目中引入对应的数据库驱动。对于大多数关系型数据库...

    java连接cache数据库说明,数据库驱动,cache可视化工具

    在Java环境中,我们通常通过JDBC(Java Database Connectivity)驱动来实现与Cache数据库的连接。以下是一些关键知识点: 1. **JDBC驱动**:为了在Java中连接Cache数据库,首先需要安装并配置Cache的JDBC驱动。...

    java代码oracle数据库批量插入

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

    使用javaJDBC连接hive数据,实现简单的操作!

    在本教程中,我们将深入探讨如何使用Java JDBC连接到Hive数据库,并执行基本的数据操作。Hive是一个基于Hadoop的数据仓库工具,它允许我们对大规模数据集进行SQL-like查询。 首先,我们需要在Java项目中引入Hive ...

    JDBC实现MYSQL数据库迁徙

    本教程将专注于使用Java的JDBC(Java Database Connectivity)接口来实现MySQL数据库之间的迁移,以及分表数据的迁移。 首先,JDBC是Java语言访问数据库的标准API,它允许Java程序与各种数据库进行交互,包括MySQL...

    java jdbc连接数据库

    Java JDBC(Java Database Connectivity)是Java平台中用于与各种数据库进行交互的标准API,它使得Java开发者能够编写数据库独立的应用程序。JDBC提供了多种方法来连接、查询和操作数据库,包括MySQL、Oracle、SQL ...

    Java用JDBC实现对Oracle数据库操作

    6. **批量操作**:当有大量数据要插入或更新时,使用预编译的PreparedStatement的`addBatch()`和`executeBatch()`方法可以提高效率。 7. **错误处理**:处理SQLException,这可能由于网络问题、数据库无响应或无效...

    JAVA—JDBC数据库查询小程序

    **JAVA—JDBC数据库查询小程序** 本程序是一个基于JAVA实现的JDBC数据库操作小程序,它提供了全面的数据库交互功能,包括增(Insert)、删(Delete)、改(Update)和查(Select)。此外,还增加了模糊查询等高级...

    实验3 JDBC操作数据库3

    实验3 JDBC操作数据库3主要目的是通过Java的JDBC技术来熟悉和掌握数据库的连接与操作。这个实验涉及了以下几个核心知识点: 1. **MySQL数据库**:实验中提到了使用MySQL作为关系型数据库管理系统,它是开源且广泛...

Global site tag (gtag.js) - Google Analytics