java连接mysql数据库实现单条插入和批量插入

Java连接MySQL数据库实现单条插入和批量插入的攻略如下:

步骤1:下载MySQL Connector/J驱动

在Java中连接MySQL数据库需要用到MySQL Connector/J驱动,我们可以从MySQL官网(https://dev.mysql.com/downloads/connector/j/)上下载最新版本的Connector/J驱动,根据操作系统和对应的JDK版本选择合适的安装包进行下载。

步骤2:导入驱动到项目中

将下载好的MySQL Connector/J驱动解压,然后将其中的jar包添加到Java项目中。如使用Maven管理项目,则在pom.xml文件中添加以下依赖项:

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

步骤3:创建数据库和数据表

使用MySQL Workbench或其他MySQL客户端创建一个数据库,然后在该数据库中创建数据表,例如:

CREATE TABLE `user` (
 `id` int(11) NOT NULL AUTO_INCREMENT,
 `name` varchar(50) NOT NULL,
 `age` int(11) NOT NULL,
 PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;

步骤4:编写Java代码进行数据库操作

单条插入示例:

import java.sql.*;

public class InsertDemo {

   // JDBC连接信息
   static final String JDBC_DRIVER = "com.mysql.cj.jdbc.Driver";
   static final String DB_URL = "jdbc:mysql://localhost:3306/test?serverTimezone=UTC";

   // 数据库用户和密码
   static final String USER = "root";
   static final String PASS = "123456";

   public static void main(String[] args) {
       Connection conn = null;
       Statement stmt = null;
       try {
           // 注册JDBC驱动
           Class.forName("com.mysql.cj.jdbc.Driver");

           // 打开连接
           System.out.println("连接数据库...");
           conn = DriverManager.getConnection(DB_URL, USER, PASS);

           // 执行插入操作
           System.out.println("插入数据...");
           stmt = conn.createStatement();
           String sql = "INSERT INTO user (name, age) VALUES ('Tom', 18)";
           stmt.executeUpdate(sql);

           // 输出插入结果
           System.out.println("插入成功!");
       } catch (SQLException se) {
           // 处理JDBC异常
           se.printStackTrace();
       } catch (Exception e) {
           // 处理Class.forName异常
           e.printStackTrace();
       } finally {
           // 关闭资源
           try {
               if (stmt != null) {
                   stmt.close();
               }
           } catch (SQLException se2) {
           }
           try {
               if (conn != null) {
                   conn.close();
               }
           } catch (SQLException se) {
               se.printStackTrace();
           }
       }
       System.out.println("Goodbye!");
   }
}

批量插入示例:

import java.sql.*;

public class BatchInsertDemo {

   // JDBC连接信息
   static final String JDBC_DRIVER = "com.mysql.cj.jdbc.Driver";
   static final String DB_URL = "jdbc:mysql://localhost:3306/test?serverTimezone=UTC";

   // 数据库用户和密码
   static final String USER = "root";
   static final String PASS = "123456";

   public static void main(String[] args) {
       Connection conn = null;
       Statement stmt = null;
       try {
           // 注册JDBC驱动
           Class.forName("com.mysql.cj.jdbc.Driver");

           // 打开连接
           System.out.println("连接数据库...");
           conn = DriverManager.getConnection(DB_URL, USER, PASS);

           // 执行插入操作
           System.out.println("批量插入数据...");
           stmt = conn.createStatement();
           conn.setAutoCommit(false); // 设置手动提交事务
           for (int i = 1; i <= 100000; i++) {
               String sql = "INSERT INTO user (name, age) VALUES ('Tom" + i + "', " + i + ")";
               stmt.addBatch(sql);
           }
           stmt.executeBatch();
           conn.commit(); // 提交事务

           // 输出插入结果
           System.out.println("插入成功!");
       } catch (SQLException se) {
           // 处理JDBC异常
           se.printStackTrace();
       } catch (Exception e) {
           // 处理Class.forName异常
           e.printStackTrace();
       } finally {
           // 关闭资源
           try {
               if (stmt != null) {
                   stmt.close();
               }
           } catch (SQLException se2) {
           }
           try {
               if (conn != null) {
                   conn.close();
               }
           } catch (SQLException se) {
               se.printStackTrace();
           }
       }
       System.out.println("Goodbye!");
   }
}

以上就是Java连接MySQL数据库实现单条插入和批量插入的完整攻略,希望对你有所帮助!

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:java连接mysql数据库实现单条插入和批量插入 - Python技术站

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

相关文章

  • 跨站脚本攻击XSS原理与防范实例分析

    跨站脚本攻击XSS原理与防范实例分析 XSS攻击原理 跨站脚本攻击(XSS)是通过在web应用程序中注入恶意脚本来攻击用户的一种常见安全漏洞。攻击者可将攻击代码注入到正常的web页面中,一旦被用户浏览器执行,就能够窃取用户的敏感信息或者利用用户的身份进行恶意操作。 XSS攻击通常分为以下三种类型: 存储型攻击:攻击者将恶意脚本注入到web应用程序中的数据库中…

    Java 2023年6月16日
    00
  • java String 可变性的分析

    Java中的String是一个不可变的类,这意味着一旦字符串创建了,就不能更改它的值。然而,在Java的StringBuilder和StringBuffer类中,字符串可变,可以通过追加和插入操作修改现有字符串。本篇攻略将通过示例说明String可变性的特性,帮助读者全面了解String的可变性。 String是不可变的 我们可以使用下面的代码来证明Stri…

    Java 2023年5月27日
    00
  • 使用Spring自身提供的地址匹配工具匹配URL操作

    使用Spring自身提供的地址匹配工具主要用于匹配URL,实现对请求的访问控制。下面是使用Spring提供的地址匹配工具匹配URL的完整攻略: 1. 导入相关的依赖 Spring框架提供了对地址匹配的支持,需要在项目中导入相应的依赖,包括 Spring Web、Spring Security 等。 <dependencies> <depen…

    Java 2023年6月15日
    00
  • SpringBoot中使用redis做分布式锁的方法

    SpringBoot是一个基于Spring框架的快速开发脚手架,提供了很多方便的开箱即用的特性,其中通过使用redis做分布式锁来解决并发问题也是常用的一种方式。下面是详细讲解“SpringBoot中使用redis做分布式锁的方法”的完整攻略。 一、使用redis实现分布式锁的原理 分布式锁是指在分布式的环境下,多个进程、线程协同合作访问共享资源的过程中,使…

    Java 2023年5月20日
    00
  • Java核心教程之常见时间日期的处理方法

    Java核心教程之常见时间日期的处理方法 介绍 在Java编程中,处理时间与日期是常见的任务。Java提供了多种处理时间与日期的方式,本文将介绍常见的时间与日期的处理方法及其实现。 Date类 Java中最基础的日期类型是Date类。Date类表示的是从Java纪元以来的毫秒数,可以用来描述一个时间点。Date类提供了很多方法,如getYear()、getM…

    Java 2023年5月20日
    00
  • bootstrap自定义样式之bootstrap实现侧边导航栏功能

    下面是关于“bootstrap自定义样式之bootstrap实现侧边导航栏功能”的完整攻略: 什么是Bootstrap? Bootstrap是一种流行的CSS框架,可帮助开发人员快速创建响应式网站。它提供了大量的CSS和JavaScript组件,可以轻松添加到你的网站上。它不仅可以帮助节省开发时间,还可以提高网站的可访问性和易用性。 Bootstrap如何实…

    Java 2023年5月30日
    00
  • java计算两个时间相差天数的方法汇总

    标题:Java计算两个时间相差天数的方法汇总 当我们需要计算两个日期之间相差的天数时,可以通过Java标准库提供的日期时间类来实现。下面将介绍Java计算两个时间相差天数的方法,包括两个示例。 方法一:使用Duration类 Java 8引入了Duration类,用于表示两个时间点之间的时间差,包括秒和纳秒。我们可以使用Duration.between()方…

    Java 2023年5月20日
    00
  • Spring Security 中细化权限粒度的方法

    那么接下来我将详细讲解Spring Security中细化权限粒度的方法的完整攻略。 什么是Spring Security? Spring Security是一个基于Spring框架的安全性解决方案,旨在为企业Java应用程序提供权威的身份验证和授权支持。 Spring Security中如何细化权限粒度? 1. 使用注解来限制访问 在Spring Secu…

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