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

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

本文主要介绍如何使用Java和JDBC向MySQL数据库批次插入10万条数据,并且测试其效率。

环境要求

  • MySQL数据库
  • Java开发环境
  • JDBC驱动

实现步骤

1. 安装MySQL数据库和JDBC驱动

如果你已经安装了MySQL数据库,那么可以跳过这一步。

安装JDBC驱动有很多种方式,这里以Maven作为示例,可以在pom.xml文件中加入以下依赖项:

<dependency>
   <groupId>mysql</groupId>
   <artifactId>mysql-connector-java</artifactId>
   <version>8.0.24</version>
</dependency>

2. 创建数据表

在MySQL数据库中创建一个数据表,用于存储将要插入的数据。例如,可以使用以下SQL语句创建一个名为person的数据表:

CREATE TABLE person (
  id INT NOT NULL AUTO_INCREMENT,
  name VARCHAR(50) NOT NULL,
  age INT NOT NULL,
  PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

3. 编写Java程序

接下来编写Java程序,将数据插入到数据库中。以下是示例代码:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;

public class BatchInsertDemo {

    public static void main(String[] args) throws ClassNotFoundException, SQLException {
        Class.forName("com.mysql.cj.jdbc.Driver");
        Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "password");
        conn.setAutoCommit(false);

        long start = System.currentTimeMillis();

        PreparedStatement pstmt = conn.prepareStatement("INSERT INTO person(name, age) VALUES (?, ?)");

        int count = 100000;

        for (int i = 1; i <= count; i++) {
            pstmt.setString(1, "Person-" + i);
            pstmt.setInt(2, i % 100);
            pstmt.addBatch();
            if (i % 1000 == 0) {
                pstmt.executeBatch();
                conn.commit();
            }
        }

        pstmt.executeBatch();
        conn.commit();

        long end = System.currentTimeMillis();
        System.out.println("Cost time: " + (end - start) / 1000f + " seconds");

        pstmt.close();
        conn.close();
    }
}

在上面的代码中,我们通过PreparedStatement预处理语句进行数据的批量插入。通过设置setString、setInt方法为PreparedStatement语句中的参数进行数据的批量插入。

接着,我们使用addBatch方法将参数批量添加到PreparedStatement批次中,当批次大小满足1000时就执行批量插入操作,并在最后提交所有的操作。

当执行完成后,通过System.ou.println打印出执行时间。

4. 执行Java程序

在命令行中进入到Java程序所在的目录,编译Java代码并执行程序,可以得到以下输出结果:

$ javac BatchInsertDemo.java
$ java BatchInsertDemo
Cost time: 19.324 seconds

以上输出结果说明向MySQL数据库批次插入10万条数据仅需19秒。

总结

通过本文介绍的方法,可以在Java中实现向MySQL数据库批次插入大量数据的操作,提高插入数据的效率,这对于大数据量的操作非常有用。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java使用JDBC向MySQL数据库批次插入10W条数据(测试效率) - Python技术站

(0)
上一篇 2023年5月20日
下一篇 2023年5月20日

相关文章

  • Spring Boot 2.4新特性减少95%内存占用问题

    下面是Spring Boot 2.4新特性减少95%内存占用问题的完整攻略: 1. 问题描述 在应用程序开发过程中,内存占用问题是一个常见的问题。Spring Boot 2.4版本在这方面做出了重要的改进。在之前的版本中,Spring Boot在运行过程中可能会产生大量的对象,这些对象可能会占用大量的内存空间。在2.4版本中,Spring Boot通过减少不…

    Java 2023年5月26日
    00
  • Java使用MySQL实现连接池代码实例

    本文将详细讲解Java如何使用MySQL实现连接池。 什么是连接池? 对于Java Web应用或其他需要访问数据库的应用而言,每次需要访问数据库时都会不断地建立和销毁连接,这样既费时,也会使得数据库资源消耗。连接池是一种优雅的解决方案,它可以在应用启动时创建连接池,从而使得应用只在启动和关闭时创建和销毁连接,以达到减少连接创建和销毁的消耗的效果。 如何实现连…

    Java 2023年5月26日
    00
  • 浅谈Java代码的 微信长链转短链接口使用 post 请求封装Json(实例)

    这里给出详细的攻略。 1. 背景介绍 微信公众号开发中,经常会使用到微信接口进行开发,其中短链接转化也是很常见的操作。本篇文章主要介绍如何使用 Java 代码封装微信长链接转短链接接口,使用 post 请求,并将返回结果封装为 JSON 数据。 2. 实现步骤 2.1. 导入相关 jar 包 使用 HttpClient 可以方便地发送 post 请求,并获取…

    Java 2023年5月26日
    00
  • 深入讲解Java Maven配置

    下面是“深入讲解Java Maven配置”的完整攻略。 一、什么是Maven Apache Maven(简称Maven)是一个Java项目的管理和构建工具。它可以帮助开发人员自动化构建过程,生成具有标准目录结构的项目骨架以及管理项目依赖。使用Maven可以简化项目开发过程,节省时间和人力成本。 二、Maven的配置步骤 2.1 安装Maven 首先需要在官网…

    Java 2023年5月20日
    00
  • Java8实现FTP及SFTP文件上传下载

    下面是关于“Java8实现FTP及SFTP文件上传下载”的完整攻略。 一、FTP文件上传下载 1.1 准备工作 在开始前,需要引入以下的Maven依赖: <dependency> <groupId>commons-net</groupId> <artifactId>commons-net</artifac…

    Java 2023年5月19日
    00
  • 常见的Java ORM框架有哪些?

    Java ORM(Object-Relational Mapping)框架是用于简化Java应用程序与关系数据库之间的数据映射、数据管理和数据操作的工具,常见的Java ORM框架有以下几种: Hibernate:Hibernate是一个广泛应用的Java ORM框架,支持JPA(Java Persistence API)规范,其主要优点是开发效率高、功能强…

    Java 2023年5月11日
    00
  • Java SimpleDateFormat线程安全问题原理详解

    Java SimpleDateFormat线程安全问题原理详解 简介 SimpleDateFormat 是 Java 中处理日期格式化的常用类,常用来将 Date 类型转换成特定格式的字符串。然而,SimpleDateFormat 是非线程安全的,当多个线程同时访问同一个 SimpleDateFormat 实例时,就会出现线程安全问题。本文将通过分析 Sim…

    Java 2023年6月1日
    00
  • 详解如何更改SpringBoot TomCat运行方式

    下面为您详细讲解如何更改SpringBoot Tomcat运行方式的完整攻略。 1. SpringBoot默认的Tomcat运行方式 SpringBoot默认使用嵌入式的Tomcat运行Web应用程序。这意味着您不需要单独部署一个Tomcat实例,而是可以使用SpringBoot提供的maven或gradle插件,在本地构建和运行应用程序。 要在Spring…

    Java 2023年5月19日
    00
合作推广
合作推广
分享本页
返回顶部