mysql-connector-java-5.1.7-bin.jar)test1 及表 userlibmysql-connector-java-5.1.7-bin.jar 複製到 lib 目錄Referenced Libraries 下出現驅動包,即配置成功package com.ningmengxueyuan;
import java.sql.*;
public class MysqlJdbcDemo {
public static void main(String[] args) {
// 1. 加載驅動(JDBC 4.0+ 可省略,但保留兼容舊版本)
try {
Class.forName("com.mysql.jdbc.Driver");
System.out.println("✓ 驅動加載成功");
} catch (ClassNotFoundException e) {
System.err.println("✗ 驅動加載失敗");
e.printStackTrace();
return;
}
// 2. 建立連接 - 請修改 URL、用戶名、密碼
String url = "jdbc:mysql://localhost:3306/test1?useUnicode=true&characterEncoding=utf8";
String user = "root";
String pwd = "123456"; // 你的數據庫密碼
try (Connection conn = DriverManager.getConnection(url, user, pwd)) {
System.out.println("✓ 數據庫連接成功");
// 3. 執行查詢
try (Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM user")) {
while (rs.next()) {
System.out.println("用戶名: " + rs.getString("name"));
}
}
} catch (SQLException e) {
System.err.println("✗ 數據庫操作異常");
e.printStackTrace();
}
}
}
| 參數 | 說明 | 示例 |
|---|---|---|
jdbc:mysql:// | 協議前綴,固定寫法 | - |
localhost:3306 | MySQL 主機:端口 | 若遠程則改為 IP:3306 |
test1 | 數據庫名(Schema) | 你創建的庫 |
useUnicode=true&characterEncoding=utf8 | 解決中文亂碼關鍵參數 | 強烈建議加上 |
root / 123456 | 數據庫用戶名/密碼 | 按實際環境修改 |
com.mysql.cj.jdbc.Driver,URL 需加 serverTimezone=UTC。try-with-resources 自動關閉 Connection/Statement/ResultSet。生產環境請使用 HikariCP、Druid 或 DBCP2 替代直連,配置示例:
// HikariCP 示例
HikariConfig config = new HikariConfig();
config.setJdbcUrl(url);
config.setUsername(user);
config.setPassword(pwd);
config.setMaximumPoolSize(20);
DataSource ds = new HikariDataSource(config);
// 獲取連接
try (Connection conn = ds.getConnection()) { ... }
掌握 JDBC 基礎是理解 MyBatis、Hibernate、Spring JDTC 等 ORM 框架底層原理的關鍵,建議手寫一次完整流程加深印象。