常用資料庫驅動與 URL 格式
| 資料庫 | Driver Class | JDBC URL 範例 |
| MySQL | com.mysql.jdbc.Driver | jdbc:mysql://host:port/dbname |
| SQL Server | com.microsoft.jdbc.sqlserver.SQLServerDriver | jdbc:microsoft:sqlserver://host:port;databasename=xxx |
| Oracle | oracle.jdbc.driver.OracleDriver | jdbc:oracle:thin:@host:port:sid |
完整程式碼
package test;
import java.sql.*;
public class TestDataBase {
public static void main(String[] args) {
String driver = "com.mysql.jdbc.Driver";
String url = "jdbc:mysql://127.0.0.1:3306/menagerIE";
String user = "root";
String password = "11111";
try {
// 1. 載入驅動
Class.forName(driver);
// 2. 建立連線
Connection conn = DriverManager.getConnection(url, user, password);
// 3. 準備查詢
String sql = "SELECT * FROM pet";
PreparedStatement pstmt = conn.prepareStatement(sql);
// 4. 執行查詢
ResultSet rs = pstmt.executeQuery();
// 5. 處理結果
while (rs.next()) {
System.out.println(rs.getString(1) + "\t" + rs.getString(2));
}
// 6. 關閉資源(建議用 try-with-resources 或 finally)
rs.close();
pstmt.close();
conn.close();
} catch (SQLException | ClassNotFoundException e) {
e.printStackTrace();
}
}
}
關鍵步驟說明
- Class.forName(driver):載入 JDBC 驅動類別,向
DriverManager 註冊。
- DriverManager.getConnection():取得資料庫連線物件。
- PreparedStatement:預編譯 SQL,防止注入、提升效能。
- ResultSet:游標式讀取結果集,
next() 移至下一列。
- 資源關閉:務必按「結果集 → 陳述式 → 連線」順序關閉,避免洩漏。
進階提示
- 生產環境請使用連線池(HikariCP、Druid、Tomcat JDBC Pool)管理連線生命週期。
- 採用
try-with-resources (Java 7+) 自動關閉資源。
- 密碼勿硬編碼,應從設定檔或環境變數讀取。