Class.forName(driverClass) 載入驅動(JDBC 4.0+ 可省略)。DriverManager.getConnection(url, user, pwd) 建立連線。Statement/PreparedStatement 執行 SQL。ResultSet 處理結果,最後關閉資源。String driver = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
String url = "jdbc:sqlserver://localhost:1433;DatabaseName=pubs";
String user = "sa";
String pwd = "";
try (Connection conn = DriverManager.getConnection(url, user, pwd);
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM authors")) {
Class.forName(driver);
while (rs.next()) {
System.out.println(rs.getString("au_fname") + " " + rs.getString("au_lname"));
}
} catch (Exception e) { e.printStackTrace(); }
舊版com.microsoft.jdbc.sqlserver.SQLServerDriver+jdbc:microsoft:sqlserver://已淘汰,請改用上述新版。
String driver = "com.mysql.cj.jdbc.Driver"; // 8.0+ 類別名
String url = "jdbc:mysql://localhost:3306/test?useSSL=false&serverTimezone=UTC";
String user = "root";
String pwd = "guapo";
try (Connection conn = DriverManager.getConnection(url, user, pwd);
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT name FROM pet")) {
Class.forName(driver);
while (rs.next()) System.out.println(rs.getString("name"));
} catch (Exception e) { e.printStackTrace(); }
關鍵參數:useSSL=false 關閉 SSL(本機測試)、serverTimezone=UTC 避免時區警告。
// 僅適用 Java 7 或更早版本
String url = "jdbc:odbc:myOracleDSN"; // 需預先在 ODBC 管理員建立系統 DSN
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
// ...後續同通用流程
String driver = "oracle.jdbc.driver.OracleDriver"; // 或 oracle.jdbc.OracleDriver
String url = "jdbc:oracle:thin:@127.0.0.1:1521:ORCL"; // SID 模式
// 服務名模式:jdbc:oracle:thin:@//host:port/service_name
String user = "admin";
String pwd = "123";
try (Connection conn = DriverManager.getConnection(url, user, pwd);
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM dloginmsg")) {
Class.forName(driver);
while (rs.next()) {
System.out.println(rs.getString(2) + ", " + rs.getString(1));
}
} catch (Exception e) { e.printStackTrace(); }
| 資料庫 | Maven 坐標 (最新穩定版參考) | 備註 |
|---|---|---|
| SQL Server | com.microsoft.sqlserver:mssql-jdbc:12.4.2.jre11 | 依 JDK 版本選 jre8/jre11/jre17 |
| MySQL | com.mysql:mysql-connector-j:8.3.0 | 8.0+ 類別名變更為 com.mysql.cj.jdbc.Driver |
| Oracle | com.oracle.database.jdbc:ojdbc11:23.4.0.0 | 需 Oracle 帳號下載或從 Maven Central 取得 |
Connection/Statement/ResultSet。SQLException 包裝為業務異常上拋,保留堆疊。addBatch()/executeBatch()。