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

Java 連接 SQL Server 資料庫實戰範例

     編輯:Java 相關知識

以下示範如何使用 JDBC 連接 Microsoft SQL Server,包含驅動載入、連線取得、查詢執行與資源釋放的完整封裝類。程式碼採用 Microsoft 官方 JDBC 驅動(com.microsoft.jdbc.sqlserver.SQLServerDriver),適用於 SQL Server 2000/2005 環境。

package jxjpd;

import java.io.*;
import java.sql.*;
import com.microsoft.jdbc.sqlserver.*;

public class DBconn {
    private static final String DRIVER = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
    private static final String URL = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pd";
    private static final String USER = "sa";
    private static final String PASS = "";

    private Connection conn;
    private Statement stmt;
    private ResultSet rs;

    public DBconn() {
        try {
            Class.forName(DRIVER);
        } catch (Exception e) {
            System.err.println("驅動載入失敗: " + e.getMessage());
        }
    }

    public Connection getConn() {
        try {
            if (conn == null || conn.isClosed()) {
                conn = DriverManager.getConnection(URL, USER, PASS);
            }
        } catch (Exception e) {
            System.err.println("取得連線失敗: " + e.getMessage());
        }
        return conn;
    }

    public ResultSet executeQuery(String sql) {
        try {
            getConn();
            stmt = conn.createStatement();
            rs = stmt.executeQuery(sql);
        } catch (Exception e) {
            System.err.println("查詢執行失敗: " + e.getMessage());
        }
        return rs;
    }

    public int executeUpdate(String sql) {
        int rows = 0;
        try {
            getConn();
            stmt = conn.createStatement();
            rows = stmt.executeUpdate(sql);
        } catch (Exception e) {
            System.err.println("更新執行失敗: " + e.getMessage());
        }
        return rows;
    }

    public void close() {
        try {
            if (rs != null) rs.close();
            if (stmt != null) stmt.close();
            if (conn != null) conn.close();
        } catch (Exception e) {
            System.err.println("資源釋放失敗: " + e.getMessage());
        }
    }
}

關鍵點提醒:

  • 驅動類別名稱與連線 URL 格式需與所用 JDBC 驅動版本匹配。
  • 實際專案建議使用連線池(如 HikariCP、Druid)替代手動管理連線。
  • 所有 SQL 操作務必在 finally 區塊或 try-with-resources 中關閉資源,避免洩漏。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved