您的位置:

Java连接MySQL数据库教程

MySQL是一种流行的关系型数据库,广泛应用于各种应用程序中。在Java应用程序中,MySQL也是常用的数据库之一。本教程将详细介绍如何使用Java连接MySQL数据库,提供多个方面的阐述,包括MySQL数据库的连接、CRUD操作、事务处理等内容。

一、MySQL数据库的连接

在Java应用程序中连接MySQL数据库,需要先获取数据库连接。获取数据库连接的方式有多种,其中使用MySQL官方提供的JDBC驱动程序是较为常用的方式。以下是获取MySQL数据库连接的示例代码:

try {
    // 加载MySQL JDBC驱动程序
    Class.forName("com.mysql.cj.jdbc.Driver");
    
    // 创建连接
    String url = "jdbc:mysql://localhost:3306/mydb?useSSL=false&serverTimezone=UTC";
    String user = "root";
    String password = "123456";
    Connection connection = DriverManager.getConnection(url, user, password);
} catch (ClassNotFoundException e) {
    e.printStackTrace();
} catch (SQLException e) {
    e.printStackTrace();
}

以上代码中,首先使用Class.forName()方法加载MySQL JDBC驱动程序。接着创建连接时,需要指定MySQL服务器地址、端口号、数据库名、用户名和密码。在创建连接时可以通过修改URL的参数来控制连接的一些属性,如是否使用SSL、时区等。

二、CRUD操作

1. 查询操作

查询操作是数据库中最常用的操作之一。以下是查询操作的示例代码:

try {
    String sql = "SELECT * FROM users";
    PreparedStatement statement = connection.prepareStatement(sql);
    ResultSet resultSet = statement.executeQuery();
    
    while (resultSet.next()) {
        int id = resultSet.getInt("id");
        String name = resultSet.getString("name");
        int age = resultSet.getInt("age");
        
        System.out.println("id:" + id + ", name:" + name + ", age:" + age);
    }
    
    resultSet.close();
    statement.close();
} catch (SQLException e) {
    e.printStackTrace();
} 

以上代码中,使用PreparedStatement对象创建查询SQL语句,并调用executeQuery()方法执行查询操作。查询结果保存在ResultSet对象中,通过调用ResultSet中的next()方法以逐行解析结果集。

2. 插入操作

插入操作是往数据库中添加数据的操作。以下是插入操作的示例代码:

try {
    String sql = "INSERT INTO users (name, age) VALUES (?, ?)";
    PreparedStatement statement = connection.prepareStatement(sql);
    
    statement.setString(1, "Tom");
    statement.setInt(2, 20);
    
    int count = statement.executeUpdate();
    if (count >= 1) {
        System.out.println("Insert successfully!");
    }
    
    statement.close();
} catch (SQLException e) {
    e.printStackTrace();
} 

以上代码中,使用PreparedStatement对象创建插入SQL语句,并调用executeUpdate()方法执行插入操作。插入操作执行成功后,会返回受影响的行数。

3. 更新操作

更新操作是修改数据库中已有数据的操作。以下是更新操作的示例代码:

try {
    String sql = "UPDATE users SET age = ? WHERE id = ?";
    PreparedStatement statement = connection.prepareStatement(sql);
    
    statement.setInt(1, 25);
    statement.setInt(2, 1);
    
    int count = statement.executeUpdate();
    if (count >= 1) {
        System.out.println("Update successfully!");
    }
    
    statement.close();
} catch (SQLException e) {
    e.printStackTrace();
} 

以上代码中,使用PreparedStatement对象创建更新SQL语句,并调用executeUpdate()方法执行更新操作。更新操作执行成功后,同样会返回受影响的行数。

4. 删除操作

删除操作是从数据库中删除数据的操作。以下是删除操作的示例代码:

try {
    String sql = "DELETE FROM users WHERE id = ?";
    PreparedStatement statement = connection.prepareStatement(sql);
    
    statement.setInt(1, 1);
    
    int count = statement.executeUpdate();
    if (count >= 1) {
        System.out.println("Delete successfully!");
    }
    
    statement.close();
} catch (SQLException e) {
    e.printStackTrace();
} 

以上代码中,使用PreparedStatement对象创建删除SQL语句,并调用executeUpdate()方法执行删除操作。删除操作执行成功后,同样会返回受影响的行数。

三、事务处理

MySQL数据库支持事务处理,可以保证多个操作作为一个整体完成或者失败。Java程序中可以通过在Connection对象上设置事务隔离级别和提交或回滚事务来实现事务处理。以下是事务处理的示例代码:

try {
    connection.setAutoCommit(false);
    
    String sql1 = "UPDATE users SET age = ? WHERE id = ?";
    PreparedStatement statement1 = connection.prepareStatement(sql1);
    statement1.setInt(1, 20);
    statement1.setInt(2, 1);
    statement1.executeUpdate();
    
    String sql2 = "UPDATE users SET age = ? WHERE id = ?";
    PreparedStatement statement2 = connection.prepareStatement(sql2);
    statement2.setInt(1, 30);
    statement2.setInt(2, 2);
    statement2.executeUpdate();
    
    connection.commit();
    connection.setAutoCommit(true);
    
    System.out.println("Transaction successfully!");
} catch (SQLException e) {
    connection.rollback();
    connection.setAutoCommit(true);
    e.printStackTrace();
} 

以上代码中,通过调用Connection对象的setAutoCommit(false)方法将自动提交事务的功能关闭。然后可以执行多个SQL语句,这些SQL语句将被作为一个事务提交到数据库中。如果事务执行失败,可以通过调用Connection对象的rollback()方法回滚事务。如果执行成功,最后再调用Connection对象的commit()方法提交事务。

连接mysql数据库笔记1(如何连接数据库mysql)

2022-11-10
Java连接MySQL数据库教程

2023-05-11
jsp连接mysql数据库,jsp连接mysql数据库教程

2022-11-30
Java连接MySQL数据库教程

2023-05-11
Java连接MySQL数据库教程

2023-05-11
Java数据库连接,java 连接数据库

2023-01-04
jsp数据库笔记,jsp写入数据库

本文目录一览: 1、怎么用jsp连接mysql数据库 2、jsp中怎么使用数据库 3、JSP 从数据库中如何取得图片的路径? 怎么用jsp连接mysql数据库 一. 数据库的连接和操作笔记:1.初始化

2023-12-08
jsp使用java连接数据库(jsp连接数据库的方法)

本文目录一览: 1、怎么使用JAVA连接数据库? 2、怎么用jsp连接mysql数据库 3、在JSP页面中实现连接数据库与在Java程序中实现连接数据库有什么区别? 4、java 中 怎样将JSP页面

2023-12-08
jsp测试mysql连接数据库(jsp连接MySQL数据库)

2022-11-14
jsp链接数据库教程(jsp连接数据库的两种方式)

本文目录一览: 1、jsp怎么连接数据库 2、如何用JSP连接SQLServer数据库 3、jsp连接数据库方法(详细的) 4、在jsp编程中如何连接数据库 5、在jsp编程中如何连接数据库? 6、怎

2023-12-08
jdbc连接mysql数据库书,jdbc与数据库连接

2022-11-18
java学习笔记(java初学笔记)

2022-11-14
jdbc连接mysql数据库时(JDBC数据库连接)

2022-11-11
java连接数据库之mysql,连接java和数据库

2022-11-18
Java连接MySQL数据库

2023-05-11
java简单数据库视频,java数据库教程

2022-11-17
java连接,java连接mysql数据库的代码

2022-11-30
java连接mysql数据库(java连接mysql数据库u

2022-11-13
java连接mysql方法(java和mysql连接教程)

2022-11-10
使用MySQL Connector连接MySQL数据库的完整

2023-05-16