在Java中,建立数据库链接通常使用 JDBC(Java Database Connectivity),以下是基本的步骤:


1. 导入JDBC驱动

在Java中,通常使用MySQL、PostgreSQL、Oracle、SQL Server等数据库的JDBC驱动。在项目中,需要先下载对应数据库的JDBC驱动,并导入到项目中。

  • Maven 依赖(以 MySQL 为例)

    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>8.0.33</version>
    </dependency>
    
  • 手动添加 Jar 包 如果不是使用Maven,可以手动下载 mysql-connector-java.jar 并添加到 classpath


2. 编写 Java 代码

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

public class DatabaseConnection {
    // 数据库连接信息
    private static final String URL = "jdbc:mysql://localhost:3306/testdb";
    private static final String USER = "root";
    private static final String PASSWORD = "123456";

    public static void main(String[] args) {
        Connection conn = null;
        try {
            // 1. 加载驱动(MySQL 8.0 以上可省略)
            Class.forName("com.mysql.cj.jdbc.Driver");

            // 2. 获取数据库连接
            conn = DriverManager.getConnection(URL, USER, PASSWORD);
            System.out.println("数据库连接成功!");

        } catch (ClassNotFoundException e) {
            System.out.println("数据库驱动加载失败:" + e.getMessage());
        } catch (SQLException e) {
            System.out.println("数据库连接失败:" + e.getMessage());
        } finally {
            // 3. 关闭连接
            try {
                if (conn != null) {
                    conn.close();
                    System.out.println("数据库连接已关闭。");
                }
            } catch (SQLException e) {
                System.out.println("关闭连接失败:" + e.getMessage());
            }
        }
    }
}

3. 关键点说明

  1. JDBC URL格式(不同数据库有所不同):

    • MySQL: jdbc:mysql://localhost:3306/testdb
    • PostgreSQL: jdbc:postgresql://localhost:5432/testdb
    • Oracle: jdbc:oracle:thin:@localhost:1521:orcl
    • SQL Server: jdbc:sqlserver://localhost:1433;databaseName=testdb
  2. 驱动类名(不同数据库不同):

    • MySQL: com.mysql.cj.jdbc.Driver
    • PostgreSQL: org.postgresql.Driver
    • Oracle: oracle.jdbc.OracleDriver
    • SQL Server: com.microsoft.sqlserver.jdbc.SQLServerDriver
  3. 数据库用户名和密码 需根据你的实际情况修改。

  4. 数据库连接关闭

    • conn.close(); 以释放资源,防止内存泄露。

4. 连接池优化

如果应用程序需要频繁连接数据库,建议使用 连接池(Connection Pooling),例如:

  • HikariCP(推荐)
  • Apache DBCP
  • C3P0

使用 HikariCP 连接池

Maven 依赖

<dependency>
    <groupId>com.zaxxer</groupId>
    <artifactId>HikariCP</artifactId>
    <version>5.0.1</version>
</dependency>

Java 代码

import com.zaxxer.hikari.HikariConfig;
import com.zaxxer.hikari.HikariDataSource;

import java.sql.Connection;
import java.sql.SQLException;

public class HikariCPExample {
    public static void main(String[] args) {
        HikariConfig config = new HikariConfig();
        config.setJdbcUrl("jdbc:mysql://localhost:3306/testdb");
        config.setUsername("root");
        config.setPassword("123456");
        config.setMaximumPoolSize(10);  // 连接池大小

        HikariDataSource ds = new HikariDataSource(config);

        try (Connection conn = ds.getConnection()) {
            System.out.println("数据库连接成功(HikariCP)!");
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}

总结

  • 基本方式: 使用 DriverManager.getConnection() 进行直接连接。
  • 优化方式: 使用 HikariCP 连接池,提高性能。
  • 不同数据库的JDBC URL 和 Driver 不同,请按需修改。

这样,你就能在Java中成功建立数据库连接了! 🚀