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

Java 應用 JDBC 連接資料庫完整指南

     編輯:Java 相關知識

JDBC 連接資料庫核心流程

JDBC (Java Database Connectivity) 是 Java 程式連接關聯式資料庫的標準 API。無論是開發 Web 應用還是桌面程式,掌握 JDBC 連接資料庫的標準流程都是 Java 開發者的基本功。本文將詳細解析 JDBC 連接 MySQL 資料庫的完整步驟與程式碼實作。

六大核心步驟

  1. 載入驅動程式:使用 Class.forName(driver) 註冊 JDBC 驅動
  2. 建立連線物件:透過 DriverManager.getConnection(url, username, password) 取得 Connection
  3. 建立 SQL 執行物件:使用 Connection.createStatement() 建立 Statement
  4. 執行 SQL 語句:呼叫 executeQuery() (查詢) 或 executeUpdate() (增刪改)
  5. 處理執行結果:遍歷 ResultSet 取得資料
  6. 關閉資源:按相反順序關閉 ResultSet、Statement、Connection

完整程式碼範例:連接 MySQL

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class DBConnection {
    public static void main(String[] args) {
        // 資料庫連線參數
        String driver = "com.mysql.cj.jdbc.Driver";  // MySQL 8.0+ 驅動類別
        String url = "jdbc:mysql://localhost:3306/userdb?useSSL=false&serverTimezone=UTC";
        String username = "root";
        String password = "123456";
        String sql = "SELECT id, username, email, age FROM users";

        try {
            // 1. 載入驅動
            Class.forName(driver);
        } catch (ClassNotFoundException e) {
            System.err.println("找不到 JDBC 驅動: " + e.getMessage());
            return;
        }

        // 使用 try-with-resources 自動關閉資源 (Java 7+)
        try (Connection conn = DriverManager.getConnection(url, username, password);
             Statement stmt = conn.createStatement();
             ResultSet rs = stmt.executeQuery(sql)) {

            // 4-5. 執行查詢並處理結果
            System.out.println("用戶列表:");
            System.out.println("-------------------");
            while (rs.next()) {
                int id = rs.getInt("id");
                String username = rs.getString("username");
                String email = rs.getString("email");
                int age = rs.getInt("age");
                System.out.printf("ID: %d | 姓名: %s | Email: %s | 年齡: %d%n", 
                    id, username, email, age);
            }
        } catch (SQLException e) {
            System.err.println("資料庫操作失敗: " + e.getMessage());
            e.printStackTrace();
        }
    }
}

關鍵點補充

  • 驅動版本差異:MySQL 8.0 使用 com.mysql.cj.jdbc.Driver,舊版用 com.mysql.jdbc.Driver
  • 連線字串參數:建議加上 useSSL=false、serverTimezone=UTC 避免時區與 SSL 警告
  • 資源管理:優先使用 try-with-resources 語法,確保連線一定會被關閉
  • PreparedStatement:實務上應使用預編譯語句防止 SQL 注入,效能也更好

其他資料庫連接

連接 PostgreSQL、Oracle、SQL Server 等資料庫流程相同,只需更換驅動類別名稱、連線 URL 格式與對應的 JDBC 驅動 JAR 檔即可。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved