Java DataBase Connectivity —— 統一訪問關係型數據庫的標準 API,屏蔽底層驅動差異(MySQL/Oracle/PostgreSQL 等)。
Class.forName("com.mysql.cj.jdbc.Driver");(5.1+ 建議 cj 版)。String url = "jdbc:mysql://localhost:3306/test?useSSL=false&serverTimezone=UTC"; Connection conn = DriverManager.getConnection(url, "root", "root");
Statement stmt = conn.createStatement();(靜態 SQL)PreparedStatement ps = conn.prepareStatement(sql);(參數化,**生產首選**)ResultSet rs = stmt.executeQuery(sql); / ps.executeQuery();int rows = stmt.executeUpdate(sql); / ps.executeUpdate();(返回影響行數)while (rs.next()) {
int id = rs.getInt("id");
String name = rs.getString("name");
// ...
}
conn.setAutoCommit(false);
try {
// 多條 DML
conn.commit();
} catch (Exception e) {
conn.rollback();
throw e;
} finally {
conn.setAutoCommit(true);
}
if (rs != null) rs.close(); if (stmt != null) stmt.close(); if (conn != null) conn.close();
useSSL=false、serverTimezone=UTC、characterEncoding=utf8mb4、allowPublicKeyRetrieval=true(8.0+)。SQLException,記錄 SQL 狀態碼(e.getSQLState())與廠商碼(e.getErrorCode())。