Java 操作資料庫的標準流程固定為四步:獲取連線 → 執行 SQL → 處理結果 → 釋放資源。掌握此流程是所有進階技巧的基石。
主要有兩種方式:
jdbc/myDB),實現程式與資料庫配置解耦,支援熱部署與安全性增強。ResultSet:游標預設在第一行之前,需呼叫 next() 逐行讀取,透過 getXxx("欄位名") 取值。int:表示受影響的行數。嚴格遵循 「後開先關」 原則:ResultSet → Statement → Connection。建議使用 try-with-resources (Java 7+) 自動管理,避免連線洩漏導致資料庫癱瘓。
預設 ResultSet 僅支援向前讀取。建立 Statement 或 PreparedStatement 時指定型別與並發模式:
// 可捲動、唯讀
Statement stmt = conn.createStatement(
ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_READ_ONLY);
// 可捲動、可更新
PreparedStatement ps = conn.prepareStatement(sql,
ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_UPDATABLE);
之後即可呼叫 absolute(n)、previous()、updateRow() 等方法實現靈活導航與就地更新。
大量資料寫入時,批次處理可減少網路往返,效能提升數十倍。
執行 executeBatch() 返回 int[],每個元素對應單條 SQL 影響行數。
確保業務邏輯原子性的核心手段:
conn.setAutoCommit(false) 關閉自動提交。conn.commit(),異常捕獲後呼叫 conn.rollback()。finally 區塊恢復 setAutoCommit(true) 並釋放連線。try-with-resources 或框架模板類(JdbcTemplate)。掌握這些核心流程與技巧,即可應對 90% 以上的 Java 資料庫開發場景,為後續學習 ORM 框架(MyBatis、Hibernate/JPA)打下堅實基礎。