在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. 关键点说明
-
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
- MySQL:
-
驱动类名(不同数据库不同):
- MySQL:
com.mysql.cj.jdbc.Driver
- PostgreSQL:
org.postgresql.Driver
- Oracle:
oracle.jdbc.OracleDriver
- SQL Server:
com.microsoft.sqlserver.jdbc.SQLServerDriver
- MySQL:
-
数据库用户名和密码 需根据你的实际情况修改。
-
数据库连接关闭:
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中成功建立数据库连接了! 🚀