杰瑞科技汇

Java连接SQLServer的JAR包如何选择?

JDBC 驱动

您需要理解一个关键概念:JDBC (Java Database Connectivity) 驱动程序

Java连接SQLServer的JAR包如何选择?-图1
(图片来源网络,侵删)
  • JDBC 是 Java 语言中用来规范客户端程序如何访问数据库的应用程序接口,它提供了查询和更新数据库的方法。
  • JDBC 驱动 是由数据库厂商(如微软)提供的一个 JAR 包,它实现了 JDBC 接口,Java 应用程序通过加载这个驱动,才能与特定的数据库(如 SQL Server)进行通信。

您提到的 "JAR 包",指的就是 Microsoft 提供的 SQL Server JDBC Driver


主流版本:JDBC 4.2 (推荐)

微软官方推荐使用 JDBC 4.2 版本,因为它支持 Java 8 及更高版本,性能更好,并且是长期支持版本。

下载 JAR 包

您可以从微软官方下载中心获取最新的 JDBC 驱动。

下载链接: Microsoft JDBC Driver for SQL Server

Java连接SQLServer的JAR包如何选择?-图2
(图片来源网络,侵删)

下载步骤:

  1. 打开上述链接。
  2. 在 "下载" 部分,选择 "下载 JDBC 驱动程序"。
  3. 在 "选择与您的 Java 版本兼容的 JDBC 驱动程序" 下,选择 "JDBC 4.2"
  4. 在 "选择操作系统" 下,选择 "Platform Independent"
  5. 点击 "下载",下载一个 .zip 压缩包。

解压后的文件: 解压下载的 .zip 文件,您会看到 mssql-jdbc-<version>.jar 文件,这就是您需要在项目中使用的核心 JAR 包。

示例文件名:

  • mssql-jdbc-12.4.2.jre11.jar (适用于 Java 11)
  • mssql-jdbc-12.4.2.jre8.jar (适用于 Java 8)
  • mssql-jdbc-12.4.2.jre17.jar (适用于 Java 17)

如何选择?

Java连接SQLServer的JAR包如何选择?-图3
(图片来源网络,侵删)
  • 如果您的项目使用 Java 8,请选择 ...jre8.jar
  • 如果您的项目使用 Java 11,请选择 ...jre11.jar
  • 如果您的项目使用 Java 17,请选择 ...jre17.jar

注意jre 代表 Java Runtime Environment,jdk 代表 Java Development Kit,即使您使用 JDK 开发,也应选择对应 JRE 版本的驱动,因为它们都兼容 JDK 的类库。


如何在项目中使用这个 JAR 包

您需要将下载的 JAR 包添加到您的 Java 项目的类路径中,以下是几种常见的方法:

Maven 项目 (推荐)

如果您使用 Maven 管理项目,这是最简单、最推荐的方式,您无需手动下载 JAR 包,只需在 pom.xml 文件中添加依赖即可。

<dependencies> 标签内添加以下内容:

<dependency>
    <groupId>com.microsoft.sqlserver</groupId>
    <artifactId>mssql-jdbc</artifactId>
    <!-- 请根据您的 Java 版本选择合适的版本号 -->
    <!-- 对于 Java 8 -->
    <version>12.4.2.jre8</version>
</dependency>

添加后,Maven 会自动下载并管理这个依赖。

Gradle 项目

如果您使用 Gradle,在 build.gradlebuild.gradle.kts 文件中添加依赖。

Groovy DSL (build.gradle):

implementation 'com.microsoft.sqlserver:mssql-jdbc:12.4.2.jre8' // 根据您的 Java 版本选择

Kotlin DSL (build.gradle.kts):

implementation("com.microsoft.sqlserver:mssql-jdbc:12.4.2.jre8") // 根据您的 Java 版本选择

手动添加 (IDE 或命令行)

如果您不使用构建工具,可以手动将 JAR 包添加到项目中。

在 IntelliJ IDEA 或 Eclipse 中:

  1. 将下载的 mssql-jdbc-*.jar 文件复制到您的项目目录下(创建一个 libs 文件夹)。
  2. 在 IDE 中,右键点击您的项目 -> Build Path (或 Project Structure) -> Libraries (或 Dependencies)。
  3. 点击 Add JARs...Add External JARs...
  4. 选择您刚刚复制到项目中的 mssql-jdbc-*.jar 文件。
  5. 点击 ApplyOK

在命令行编译和运行:

您需要使用 -cp (classpath) 参数来指定 JAR 包的位置。

假设您的 JAR 包在当前目录的 libs 文件夹下,您的 Java 源文件是 src/com/example/MyApp.java

编译:

# -d . 表示将编译后的 .class 文件输出到当前目录
# -cp 指定了类路径,包括当前目录(.)和JAR包
javac -d . -cp ".:./libs/mssql-jdbc-12.4.2.jre8.jar" src/com/example/MyApp.java

注意:在 Windows 系统上,路径分隔符是分号 ,而不是冒号 。 javac -d . -cp ".;.\libs\mssql-jdbc-12.4.2.jre8.jar" src\com\example\MyApp.java

运行:

# 同样需要使用 -cp 指定类路径
java -cp ".:./libs/mssql-jdbc-12.4.2.jre8.jar" com.example.MyApp

Windows: java -cp ".;.\libs\mssql-jdbc-12.4.2.jre8.jar" com.example.MyApp


连接 SQL Server 代码示例

添加完 JAR 包后,您就可以在 Java 代码中连接数据库了。

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.sql.SQLException;
public class SqlServerConnectionExample {
    public static void main(String[] args) {
        // 数据库连接信息
        String dbUrl = "jdbc:sqlserver://<your_server_name>:<port>;databaseName=<your_database_name>;encrypt=true;trustServerCertificate=true;";
        String dbUser = "<your_username>";
        String dbPassword = "<your_password>";
        // JDBC 驱动类名 (对于 JDBC 4.2 及以上版本,通常不需要显式加载)
        // String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
        // try-with-resources 语句确保连接、语句和结果集在使用后被自动关闭
        try (Connection conn = DriverManager.getConnection(dbUrl, dbUser, dbPassword);
             Statement stmt = conn.createStatement();
             ResultSet rs = stmt.executeQuery("SELECT 'Hello, SQL Server!' AS Message")) {
            if (conn != null) {
                System.out.println("连接成功!");
            }
            // 处理查询结果
            while (rs.next()) {
                // 通过列名获取数据
                String message = rs.getString("Message");
                System.out.println("数据库返回的消息: " + message);
            }
        } catch (SQLException e) {
            System.err.println("连接数据库失败!");
            e.printStackTrace();
        }
    }
}

连接字符串参数说明:

  • jdbc:sqlserver://: 固定协议头。
  • <your_server_name>: 您的 SQL Server 实例名称或 IP 地址,如果是本地默认实例,可以用 localhost 或 。
  • <port>: SQL Server 的端口号,默认为 1433,如果不是默认端口,需要指定。
  • databaseName=<your_database_name>: 您要连接的数据库名称。
  • encrypt=true;: 启用加密,推荐在生产环境中使用。
  • trustServerCertificate=true;: 信任服务器颁发的证书,在开发或测试环境中,如果配置了自签名证书,可以使用此参数来简化连接。在生产环境中,请配置正确的信任证书。

历史版本 (了解即可)

  • JDBC 4.0 / 4.1: 用于 Java 7 和 Java 6,这些版本已过时,不再推荐使用。
  • JDBC 3.0: 用于 Java 5 和更早版本,非常古老,除非维护旧项目,否则不应使用。
任务 推荐操作
下载驱动 访问微软官网,下载 JDBC 4.2 版本的 mssql-jdbc-*.zip
选择 JAR
分享:
扫描分享到社交APP
上一篇
下一篇