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

JDBC 連接 SQL Server 完整配置指南與 CRUD 實戰代碼

     編輯:Java 相關知識

1. 環境配置步驟(以 SQL Server 2005 為例)

  1. 關閉防火牆,避免阻擋本地連接。
  2. 啟用 TCP/IP 協議:
    「配置工具」→「SQL Server 配置管理器」→「網絡配置」→「MSSQLSERVER 協議」→ 右鍵啟用「TCP/IP」 → 雙擊進入「IP 地址」→「IPAll」→ 設置「TCP 端口」為 1433。
  3. 外圍應用配置:
    ①「服務和連接」→ 選實例 →「Database Engine」→「遠程連接」→ 選「本地和遠程連接」→「同時使用 TCP/IP 和 Named Pipes」
    ②「SQL Server Browser」→ 服務啟動類型改「自動」→ 應用、啟動。
  4. 修改驗證模式並啟用 sa:
    ① SSMS →「安全性」→「登錄名」→ sa → 設置強密碼 →「狀態」→「登錄」→「啟用」
    ② SSMS → 右擊服務器 →「屬性」→「安全性」→ 選「SQL Server 和 Windows 身份驗證模式」。
  5. 創建數據庫並重啟服務。
  6. 安裝 JDBC 驅動:運行 sqljdbc_1.2.2828.100_chs.exe,將 sqljdbc.jar 加入 Classpath 或項目 Lib。
  7. Eclipse/MyEclipse 配置數據庫連接:Driver: com.microsoft.sqlserver.jdbc.SQLServerDriver,URL: jdbc:sqlserver://localhost:1433;databaseName=mytest,用戶 sa,測試連接成功。

2. 核心代碼實戰(DAO 模式)

DBConnection.java - 連接管理

public class DBConnection {
    String driveName = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
    String url = "jdbc:sqlserver://localhost:1433;DatabaseName=cqTalk";
    String userName = "sa"; String pwd = "xiaoyan710";
    public DBConnection() { try { Class.forName(driveName); } catch (Exception e) { ... } }
    public Connection getConnection() {
        try { return DriverManager.getConnection(url, userName, pwd); }
        catch (Exception e) { e.printStackTrace(); return null; }
    }
}

UserDao.java - 增刪改查

public class UserDao {
    private DBConnection dbCon = new DBConnection();
    // 添加
    public void add(User user) {
        Connection con = dbCon.getConnection();
        String sql = "insert into userData values(?,?,?,?,?)";
        try (PreparedStatement ps = con.prepareStatement(sql)) {
            ps.setString(1, user.getID()); ps.setString(2, user.getPwd());
            ps.setString(3, user.getNickname()); ps.setInt(4, user.getChecking());
            ps.setString(5, user.getAnswer());
            ps.executeUpdate();
        } catch (Exception e) { e.printStackTrace(); }
        finally { closeQuietly(con); }
    }
    // 刪除、更新、查詢同理,均使用 PreparedStatement 防注入,finally 關閉連接。
}

User.java - 實體類

public class User {
    private String ID, pwd, nickname, answer; private int checking;
    // 完整 getter/setter
}

3. 關鍵注意事項

  • finally 必須關閉連接,防止連接泄漏。
  • 異常堆棧打印便於排查。
  • 安全考慮:用完數據庫將 sa 密碼策略改為「強制過期」,下次使用前再取消並修改密碼。
  • SQL Server 2000 vs 2005 驅動/URL 差異:
    2000: com.microsoft.jdbc.sqlserver.SQLServerDriver / jdbc:microsoft:sqlserver://...
    2005: com.microsoft.sqlserver.jdbc.SQLServerDriver / jdbc:sqlserver://...
  • 常見異常 AuthenticationJNI: Failed to load sqljdbc_auth.dll → 將 sqljdbc_auth.dll 複製到 C:\WINDOWS\system32。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved