`
maozilee
  • 浏览: 251965 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

MYSQL数据库批量插入(使用JAVA)完整案例

 
阅读更多

     本实例给出批量insert到mysql的java实例!欢迎讨论大批量insert到数据库的实例方法!

 

import java.sql.DriverManager;   
import java.sql.Connection;   
import java.sql.Statement;   
import java.sql.ResultSet;   
import java.sql.SQLException;   
import java.sql.BatchUpdateException;   
  
public class TestBatchUpdate {   
  
  public static Connection getConnection() throws Exception {   
    String driver = "org.gjt.mm.mysql.Driver";   
    String url = "jdbc:mysql://localhost/octopus";   
    String username = "root";   
    String password = "root";   
    Class.forName(driver);   
    Connection conn = DriverManager.getConnection(url, username, password);   
    return conn;   
  }   
  
  public static void main(String args[]) {   
    Connection conn = null;   
    Statement stmt = null;   
    ResultSet rs = null;   
    try {   
      conn = getConnection();   
      stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);   
      conn.setAutoCommit(false);   
      stmt.addBatch("INSERT INTO batch_table(id, name) VALUES('11', 'A')");   
      stmt.addBatch("INSERT INTO batch_table(id, name) VALUES('22', 'B')");   
      stmt.addBatch("INSERT INTO batch_table(id, name) VALUES('33', 'C')");   
      int[] updateCounts = stmt.executeBatch();   
      conn.commit();   
  
      rs = stmt.executeQuery("SELECT * FROM batch_table");   
      while (rs.next()) {   
        String id = rs.getString("id");   
        String name = rs.getString("name");   
        System.out.println("id=" + id + "  name=" + name);   
      }   
  
    } catch (BatchUpdateException b) {   
      System.err.println("SQLException: " + b.getMessage());   
      System.err.println("SQLState: " + b.getSQLState());   
      System.err.println("Message: " + b.getMessage());   
      System.err.println("Vendor error code: " + b.getErrorCode());   
      System.err.print("Update counts: ");   
      int[] updateCounts = b.getUpdateCounts();   
      for (int i = 0; i < updateCounts.length; i++) {   
        System.err.print(updateCounts[i] + " ");   
      }   
    } catch (SQLException ex) {   
      System.err.println("SQLException: " + ex.getMessage());   
      System.err.println("SQLState: " + ex.getSQLState());   
      System.err.println("Message: " + ex.getMessage());   
      System.err.println("Vendor error code: " + ex.getErrorCode());   
    } catch (Exception e) {   
      System.err.println("Exception: " + e.getMessage());   
    } finally {   
      try {   
        rs.close();   
        stmt.close();   
        conn.close();   
      } catch (Exception ignore) {   
      }   
    }   
  }   
}   
 
分享到:
评论

相关推荐

    SpringBoot使用mybatis批量新增500万数据到mysql数据库Demo

    综上所述,这个Demo提供了从SpringBoot应用到Mybatis配置,再到数据库批量插入的具体实现,是学习和实践大数据量操作的一个实用案例。通过深入理解这些知识点,开发者可以更好地处理类似的大规模数据处理任务。

    JDBC连接Mysql数据库案例

    本案例将探讨如何使用JDBC连接MySQL数据库,并通过实际的代码示例讲解整个过程。我们将涉及以下知识点: 1. **JDBC驱动注册**: 在Java中,连接MySQL数据库首先需要加载并注册JDBC驱动。MySQL的JDBC驱动类是`...

    3分钟如何向MySQL数据库中插入100万条数据

    本文以"3分钟如何向MySQL数据库中插入100万条数据"为主题,探讨如何快速地批量插入大量数据。 首先,我们需要创建一个测试数据表。在MySQL中,创建表的SQL语句如下: ```sql use db_xk; drop table if exists tb_...

    java向mysql中插入150万条数据比较索引表的优势

    在Java编程语言中,向MySQL数据库插入大量数据是一项常见的任务,特别是在进行性能测试或数据分析时。本案例聚焦于150万条数据的插入,并对比了有索引和无索引表的查询效率,以此来突出数据库索引的重要性和优势。在...

    MySQL.and.Java.Developers.Guide

    本书旨在为开发人员提供一个全面的理解框架,帮助他们掌握如何在Java应用程序中有效地使用MySQL数据库。 ### 关键知识点概述 #### 1. MySQL数据库基础 - **数据库结构**:了解数据库的表结构、字段类型、索引等...

    java web和mysql的经典案列

    本案例将深入探讨如何使用Java Web与MySQL数据库进行交互,实现各种数据库操作,包括批量存储、删除、查询以及用户登录、注册等功能。这里我们将围绕以下几个关键知识点展开讨论: 1. 数据库连接池: 数据库连接池...

    JAVA数据库设计资料

    在IT行业中,数据库设计是构建高效、稳定和可扩展应用程序的关键环节,特别是在使用JAVA进行网络编程时。JAVA作为跨平台的编程语言,结合强大的数据库能力,可以构建出处理大规模数据的网络应用。本资料包“JAVA...

    <<Java数据库高级编程宝典>>配套光盘

    5. 处理大数据:了解批量插入、分页查询、大数据处理框架如Hadoop和Spark与JDBC的结合使用。 6. 错误处理:学习如何处理JDBC抛出的异常,以及如何编写健壮的数据库应用程序。 7. JPA和Hibernate:作为JDBC的高级...

    MySql批量插入优化Sql执行效率实例详解

    在MySQL数据库操作中,优化SQL执行效率是提升系统性能的关键因素之一。特别是在大量数据插入时,传统的单条插入方式会显著降低处理速度,并可能导致数据库锁表,影响其他并发操作。本篇将详细介绍MySQL批量插入优化...

    尚硅谷Java视频教程_MySQL高级视频

    尚硅谷_MySQL高级_批量插入数据脚本 · 51.尚硅谷_MySQL高级_用Show Profile进行sql分析 · 52.尚硅谷_MySQL高级_全局查询日志 · 53.尚硅谷_MySQL高级_数据库锁理论概述 · 54.尚硅谷_MySQL高级_读锁案例讲解 ...

    java并发编程实战、驾校K1考试试卷批量生成mysql表结构和数据

    本资源包涵盖了这两个主题,提供了实际操作的案例,包括"java并发编程实战"和"驾校K1考试试卷批量生成mysql表结构和数据"。 首先,让我们深入了解一下Java并发编程。Java并发编程是多线程编程的一种形式,它允许...

    MyBatis实现Mysql数据库分库分表操作和总结(推荐)

    MyBatis实现Mysql数据库分库分表操作和总结 MyBatis是一款流行的持久层框架,能够与Mysql数据库进行交互。在大规模的应用系统中,数据库的性能和可扩展性变得非常重要。为了解决这个问题,需要实现数据库的分库分表...

    基于Java设计的网上商城系统(JSP+MYSQL)源码.zip

    4. 数据访问层:使用JDBC(Java Database Connectivity)连接MYSQL数据库,执行SQL操作。此外,还可以采用ORM(Object-Relational Mapping)框架如Hibernate或MyBatis,以对象化的形式操作数据库,减少直接的SQL编写...

    xml与数据库中数据的导入导出

    8. **性能优化**:当处理大量数据时,需考虑性能优化,比如批量插入、使用预编译的SQL语句(PreparedStatement)以及合理使用连接池来管理数据库连接。 9. **设计模式**:为了使代码结构清晰、可维护,可以运用设计...

    最新Java面试题视频网盘,Java面试题84集、java面试专属及面试必问课程

    │ Java面试题27.mysql数据库最大连接数.mp4 │ Java面试题28.mysql和oracle的分页语句(着重说思路).mp4 │ Java面试题29.触发器的使用场景.mp4 │ Java面试题30.存储过程的优点.mp4 │ Java面试题31.jdbc调用存储...

    学生管理系统(jsp+mysql)

    总的来说,“学生管理系统”是一个结合了JSP动态网页技术和MySQL数据库管理的实践项目,它体现了Web应用的基本架构和流程,是学习和理解Web开发与数据库管理的绝佳案例。通过此类项目的实施,开发者不仅可以提升技术...

    Java调用存储过程--传入集合参数

    在Java应用中,调用数据库存储过程时,往往需要处理复杂的参数传递,特别是当参数为集合类型时,这一过程变得更加具有挑战性。本文将深入探讨如何在Java中有效地调用存储过程,并向其传递集合参数,主要聚焦于Oracle...

Global site tag (gtag.js) - Google Analytics