首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

JDBC 核心七步曲與通用工具類封裝實戰

     編輯:Java 相關知識

JDBC 標準七步驟

  1. 加載驅動:Class.forName("com.mysql.jdbc.Driver"),註冊到 DriverManager。
  2. 準備 URL:jdbc:mysql://host:port/db?useUnicode=true&characterEncoding=UTF-8。
  3. 建立連接:DriverManager.getConnection(url, user, pwd) 返回 Connection。
  4. 創建 Statement:
    • Statement:靜態 SQL。
    • PreparedStatement:參數化 SQL(防注入、預編譯優化)。
    • CallableStatement:存儲過程。
  5. 執行 SQL:
    • executeQuery():查詢 → ResultSet。
    • executeUpdate():增刪改 / DDL → 影響行數。
    • execute():複雜語句(多結果集)。
  6. 處理結果:ResultSet.next() 遍歷,getXxx(columnIndex/Name) 取值。
  7. 關閉資源:ResultSet → Statement → Connection(反順序),釋放數據庫資源。

通用工具類:DBHelper

public class DBHelper {
    public static final String URL = "jdbc:mysql://localhost:3306/mybatis";
    public static final String DRIVER = "com.mysql.jdbc.Driver";
    public static final String USER = "root";
    public static final String PWD = "123456";

    public Connection conn = null;
    public PreparedStatement ps = null;

    public DBHelper(String sql) {
        try {
            Class.forName(DRIVER);
            conn = DriverManager.getConnection(URL, USER, PWD);
            ps = conn.prepareStatement(sql);
        } catch (Exception e) { e.printStackTrace(); }
    }

    public void close() {
        try {
            if (ps != null) ps.close();
            if (conn != null) conn.close();
        } catch (Exception e) { e.printStackTrace(); }
    }
}

測試代碼

public class JdbcTest {
    public static void main(String[] args) {
        String sql = "SELECT * FROM user";
        DBHelper helper = new DBHelper(sql);
        try (ResultSet rs = helper.ps.executeQuery()) {
            while (rs.next()) {
                int id = rs.getInt(1);
                String name = rs.getString(2);
                int age = rs.getInt(3);
                System.out.println("id=" + id + ", name=" + name + ", age=" + age);
            }
        } catch (Exception e) { e.printStackTrace(); }
        finally { helper.close(); }
    }
}

進階優化建議

總結

掌握 JDBC 七步曲是 Java 數據庫編程的基石。實際項目中強烈建議使用連接池與成熟持久層框架(MyBatis、JdbcTemplate),但理解底層原理對排查連接洩漏、SQL 性能、事務邊界等問題至關重要。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved
優化點方案
連接池引入 HikariCP / Druid,替換 DriverManager.getConnection
資源管理使用 try-with-resources (Java 7+) 自動關閉
SQL 注入防護全量使用 PreparedStatement + 參數綁定
批量操作addBatch() + executeBatch()
事務控制conn.setAutoCommit(false) + commit()/rollback()
結果集映射封裝 RowMapper<T> 或引入 MyBatis / JdbcTemplate