Java IDEA配置JDBC連接SQL Server數據庫和代碼提示


Java IDEA配置JDBC連接SQL Server數據庫和代碼提示

初學數據庫和Java,記錄一下配置Java連接SQL Server的過程。

啟用SQL Server的TCP/IP協議連接

到「開始菜單->Microsoft SQL Server->SQL Server 2019 配置管理器」,選擇「SQL網絡配置 -> <實例名字>的協議」,啟用所有協議。

image-20220124180758305

再回到「SQL Server服務」,右鍵SQL Server選擇重啟。

SQL Server的默認TCP端口號為1433,因此我們可以打開CMD測試一下。

在CMD中輸入執行telnet localhost 1433,如果無法連接說明配置有誤,可以去配置管理器里雙擊TCP/IP,拉到最下面,查看一下端口號。

如果跳轉到了Telnet窗口(右邊那樣,只有一個光標在閃),就是成功了。

image-20220124181433030

下載JDBC驅動

JDBC驅動版本選擇

如果是SQL Server 2012及以上,可以跳過這一步。

到「支持矩陣 - JDBC Driver for SQL Server | Microsoft Docs」查詢與你的數據庫兼容的JDBC版本號。

微軟官網下載

如果是SQL Server 2012及以上,直接到「下載 - JDBC Driver for SQL Server | Microsoft Docs」下載。

否則,到「支持矩陣 - JDBC Driver for SQL Server | Microsoft Docs」下載與你的數據庫兼容的JDBC版本。

下載后解壓,目錄結構應如「<安裝目錄>\sqljdbc_<版本>\<語言>\<具體文件>」,內含若干個.jar文件,對應了不同版本的JDK支持。

image-20220121202850667

由於.jar向下兼容,因此JDK 16用JDK 1.8的包也沒問題。release.txt文件中也寫出了各jar的支持列表:

image-20220123030753926

但是注意,如果JDK 15用了JDK 16的JAR包,因為Major Version比16的小,會出現版本不兼容的異常:

Exception in thread "main" java.lang.UnsupportedClassVersionError: com/microsoft/sqlserver/jdbc/SQLServerDriver has been compiled by a more recent version of the Java Runtime (class file version 60.0), this version of the Java Runtime only recognizes class file versions up to 59.0

JetBrains自帶下載

首先進Settings->Plugins,確保已經安裝和啟用了Database Tools and SQL插件,一般IDEA自帶,不需要另行下載。

雙擊shift搜索Data Source,進入數據源設置。也可以選擇右邊的Database標簽,選擇Data Source Properties

image-20220121204811165

image-20220124180231759

Drivers,找到Microsoft SQL Server,IDEA會自動搜索到最新的驅動版本,點擊下載。

image-20220121204133633

也可以手動選擇版本。

image-20220121205055573

添加到項目依賴項

如果是在IDEA內下載的JDBC驅動,其jar包都在%APPDATA%\JetBrains\IntelliJIdea<版本號>\jdbc-drivers\目錄下。

比如MS SQL Server的JDBC驅動9.4.0版本在%APPDATA%\JetBrains\IntelliJIdea2021.3\jdbc-drivers\SQL Server\9.4.0\mssql-jdbc-9.4.0.jre8.jar

Project Structure設置中,Modules->Dependencies添加驅動JAR包。

image-20220123031827793

image-20220123031737430

編程測試

驅動類名:com.microsoft.sqlserver.jdbc.SQLServerDriver

SQL Server連接字符串基本格式:jdbc:sqlserver://<IP>:<PORT>;database=<DB_NAME>;user=<USER>;password=<PWD>

以系統數據庫master的系統表MSreplication_options為例:

image-20220123034051695

查詢前四列內容:SELECT optname, value, major_version, minor_version FROM MSreplication_options

image-20220123035354530

import java.sql.*;

public class Test {
    public static void main(String[] args) throws Exception {
        // (1) 注冊驅動
        Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
        // (2) 用「連接字符串」連接數據庫
        String url = "jdbc:sqlserver://localhost:1433;database=master;user=sa;password=123456";
        try (Connection conn = DriverManager.getConnection(url)) {
            // (3) 執行查詢語句
            Statement stmt = conn.createStatement();
            String SQL = "SELECT optname, value, major_version, minor_version FROM MSreplication_options";
            ResultSet rs = stmt.executeQuery(SQL);
            // (4) 游標提取結果
            while (rs.next()) {
                System.out.printf("%-16s", rs.getString(1));
                // bit類型數據可以用Java中的Boolean保存
                System.out.printf("%-8b", rs.getBoolean(2));
                System.out.printf("%-8d", rs.getInt(3));
                System.out.printf("%-8d\n", rs.getInt(4));
            }
        }
        catch (SQLException e) {
            e.printStackTrace();
        }
    }
}

運行結果:

image-20220123035842964

配置Data Source快速查看DB、執行SQL語句、提示

從JetBrains下載JDBC驅動一樣,到Data Source Properties中去。

如果是從JB下載的JDBC驅動,直接下一步。否則,如果是自行下載的JDBC驅動,那么到Driver選項卡,選擇到你的數據庫產品,點擊Driver Files的加號,選擇JDK1.8的JDBC驅動

然后選擇到Data Source選項卡,點擊加號添加數據源,按你的端口號、登錄方式、數據庫名字填寫。

點擊最下面的Connection Test,測試能否正常連接。失敗的話就檢查數據庫的設置,比如密碼是否正確、用戶名能否用於登錄。

image-20220124182548771

這樣,就能正常使用數據源插件帶來的便利了。這個插件不止IDEA,在PyCharm、CLion等等其他的JerBrains產品中也有,但都依賴於JDBC驅動運行,配置過程都一樣。

比如可以直接在Database側欄中查看表的定義:

image-20220124182821221

也可以在代碼中獲得提示信息:

image-20220124182929434


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM