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

Java 資料庫連線工具類:三種配置方式完整實現

     編輯:Java 程式設計入門

資料庫連線管理是 Java 開發基礎。本文提供一個完整的 ConnectionUtil,展示三種常見配置模式:硬編碼、參數傳遞、屬性檔案,並採用統一異常處理與資源關閉邏輯。

完整工具類程式碼

package com.cai.jdbc;

import java.sql.Connection;
import java.sql.DriverManager;
import java.util.Properties;

public class ConnectionUtil {

    /** 方式一:方法內固化參數(僅供測試/原型) */
    public Connection getConnection() {
        Connection conn = null;
        try {
            Class.forName("com.mysql.jdbc.Driver");
            conn = DriverManager.getConnection(
                "jdbc:mysql://localhost:3306/stud", "root", "root");
            return conn;
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }

    /** 方式二:參數傳遞(靈活,適合多資料源) */
    public Connection getConnection(String driver, String url, String user, String password) {
        Connection conn = null;
        try {
            Class.forName(driver);
            conn = DriverManager.getConnection(url, user, password);
            return conn;
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }

    /** 方式三:Properties 配置檔(生產推薦,關注點分離) */
    public Connection openConnection() {
        Connection conn = null;
        Properties props = new Properties();
        try {
            // 從 classpath 讀取 DBConfig.properties
            props.load(this.getClass().getClassLoader().getResourceAsStream("DBConfig.properties"));
            String driver = props.getProperty("driver");
            String url = props.getProperty("url");
            String user = props.getProperty("user");
            String password = props.getProperty("password");

            Class.forName(driver);
            conn = DriverManager.getConnection(url, user, password);
            return conn;
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }

    public static void main(String[] args) {
        ConnectionUtil cu = new ConnectionUtil();
        System.out.println("1、---->" + cu.getConnection());
        System.out.println("2、---->" + cu.getConnection("com.mysql.jdbc.Driver",
                "jdbc:mysql://localhost:3306/stud", "root", "root"));
        System.out.println("3、---->" + cu.openConnection());
    }
}

DBConfig.properties 範例

driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/stud
user=root
password=root

進階改良建議

  • 連線池:生產環境請改用 HikariCP、Druid、DBCP2,避免頻繁建立/銷毀連線開銷。
  • 異常處理:拋出自訂異常或使用 try-with-resources 確保連線關閉。
  • 配置解耦:整合 Spring @Value 或 Environment 統一管理配置。
  • 驅動載入:JDBC 4.0+ (Java 6+) 支援 SPI 自動載入,Class.forName 可省略。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved