📌 目录

  1. 简介
  2. 连接 MySQL 数据库的步骤
  3. Java 连接 MySQL 示例代码
  4. 使用 JDBC 配置数据库连接池
  5. 常见问题及解决方案
  6. 总结
  7. 参考资料
  8. 出站链接

1. 简介

Java 中连接 MySQL 数据库通常使用 JDBC(Java Database Connectivity,Java 数据库连接)。JDBC 是一种 API,它允许 Java 程序与关系型数据库进行交互。在 Java 中连接 MySQL 数据库时,通常需要以下几个步骤:

  • 添加 MySQL JDBC 驱动程序
  • 设置数据库连接 URL
  • 使用 Connection 对象进行数据库连接
  • 执行 SQL 查询或更新操作
  • 处理结果集
  • 关闭数据库连接

2. 连接 MySQL 数据库的步骤

1. 安装 MySQL 数据库

确保你的计算机上已经安装了 MySQL 数据库,并且已经创建了一个数据库和表。

2. 添加 MySQL JDBC 驱动

要使用 JDBC 连接 MySQL 数据库,你需要添加 MySQL JDBC 驱动程序。可以通过 Maven 来引入 mysql-connector-java 依赖:

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

如果不使用 Maven,也可以直接下载并将 mysql-connector-java 的 JAR 文件添加到项目的类路径中。

3. 设置数据库连接信息

连接 MySQL 数据库时,通常需要以下信息:

  • 数据库 URLjdbc:mysql://<host>:<port>/<database_name>
  • 数据库用户名:数据库的用户名
  • 数据库密码:数据库的密码

3. Java 连接 MySQL 示例代码

以下是一个使用 JDBC 连接 MySQL 数据库的简单 Java 示例:

import java.sql.*;

public class MySQLConnectionExample {
    public static void main(String[] args) {
        // 设置数据库连接的相关信息
        String url = "jdbc:mysql://localhost:3306/mydb";  // 数据库 URL
        String user = "root";  // 数据库用户名
        String password = "password";  // 数据库密码

        // 创建数据库连接
        try (Connection connection = DriverManager.getConnection(url, user, password)) {
            // 输出连接成功的信息
            System.out.println("Connected to MySQL database!");

            // 创建 SQL 查询语句
            String sql = "SELECT * FROM users";  // 假设有一个 "users" 表

            // 创建 Statement 对象
            try (Statement stmt = connection.createStatement()) {
                // 执行查询并返回结果集
                ResultSet resultSet = stmt.executeQuery(sql);

                // 处理查询结果
                while (resultSet.next()) {
                    int id = resultSet.getInt("id");
                    String name = resultSet.getString("name");
                    System.out.println("ID: " + id + ", Name: " + name);
                }
            }
        } catch (SQLException e) {
            // 处理数据库连接错误
            e.printStackTrace();
        }
    }
}

关键步骤:

  • DriverManager.getConnection():使用数据库 URL、用户名和密码创建连接。
  • Statement:用于执行 SQL 查询。
  • ResultSet:存储查询结果,可以逐行访问数据库中的数据。

4. 使用 JDBC 配置数据库连接池

为了提高数据库的性能,通常使用数据库连接池来管理连接。可以使用 Apache Commons DBCP 或 HikariCP 等库来实现。

示例:使用 HikariCP 配置连接池

  1. 添加 HikariCP 依赖:
<dependency>
    <groupId>com.zaxxer</groupId>
    <artifactId>HikariCP</artifactId>
    <version>4.0.3</version>
</dependency>

  1. 配置和使用 HikariCP 连接池:
import com.zaxxer.hikari.HikariConfig;
import com.zaxxer.hikari.HikariDataSource;
import java.sql.*;

public class HikariCPExample {
    public static void main(String[] args) {
        // 创建 Hikari 配置
        HikariConfig config = new HikariConfig();
        config.setJdbcUrl("jdbc:mysql://localhost:3306/mydb");
        config.setUsername("root");
        config.setPassword("password");

        // 创建数据源
        HikariDataSource dataSource = new HikariDataSource(config);

        // 使用连接池获取连接
        try (Connection connection = dataSource.getConnection()) {
            System.out.println("Connected to MySQL database using HikariCP!");

            String sql = "SELECT * FROM users";
            try (Statement stmt = connection.createStatement()) {
                ResultSet resultSet = stmt.executeQuery(sql);

                while (resultSet.next()) {
                    int id = resultSet.getInt("id");
                    String name = resultSet.getString("name");
                    System.out.println("ID: " + id + ", Name: " + name);
                }
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}

HikariCP 提供了更高效的数据库连接池管理,适合高并发的数据库访问场景。


5. 常见问题及解决方案

1. ClassNotFoundException: com.mysql.cj.jdbc.Driver

  • 这个错误通常表示缺少 MySQL JDBC 驱动程序。确保你已经正确添加了 mysql-connector-java JAR 文件到类路径中,或者使用 Maven 引入依赖。

2. Communications link failure

  • 这个错误通常发生在数据库连接失败时,原因可能是数据库服务器未启动、IP 地址不正确、端口被防火墙阻塞等。
  • 确保 MySQL 服务器已启动,并检查 jdbc:mysql://localhost:3306/mydb 中的主机和端口是否正确。

3. Access Denied for user 'root'@'localhost'

  • 确保你输入的数据库用户名和密码正确。你可以在 MySQL 命令行中测试连接是否正常。

6. 总结

Java 与 MySQL 的连接通过 JDBC 实现,基本步骤包括添加 MySQL JDBC 驱动、创建数据库连接、执行 SQL 查询、处理结果集以及关闭连接。为了提高性能,通常使用数据库连接池来管理数据库连接。


7. 参考资料


8. 出站链接