跳到主要内容

引入依赖

从 6.8.1 起,驱动提供普通包和 alone 包,两者的数据库访问能力相同。

对比项普通包alone 包
打包方式内置部分组件,其余依赖由 Maven/Gradle 引入驱动和全部必需的运行依赖 shaded 到同一个 JAR
SDK 版本MongoDB Java Driver 为外部依赖,可选择兼容版本固定在包内,不能独立选择版本
优点便于按应用要求自定义 SDK 版本一个 JAR 即可使用,无需自行凑齐运行依赖
代价自定义版本或手动加载时,需要协调依赖包体积较大,内置 SDK 版本随驱动构建固定
场景举例编程开发中需要指定兼容 SDK 版本的 Java 应用DataGrip、DBeaver,或不需要自定义 SDK 版本的编程开发

普通包将 MongoDB Java Driver(org.mongodb:mongodb-driver-sync)作为外部依赖,可通过 Maven 依赖管理或 Gradle 版本约束选择兼容版本。更换版本后需验证兼容性,并非任意跨大版本替换都能工作。

普通包​

在 Maven/Gradle 管理的应用中,选择下面任意一种完整配置即可,无需填写 classifier。

Maven​

<dependency>
<groupId>net.hasor</groupId>
<artifactId>jdbc-mongo</artifactId>
<version>6.8.2</version>
</dependency>

Gradle​

repositories {
mavenCentral()
}

dependencies {
implementation "net.hasor:jdbc-mongo:6.8.2"
}

手动加载普通 JAR 时,还需要补齐 POM 声明的外部依赖。

alone 单包​

希望一个 JAR 即可使用、不需要自定义内置 SDK 版本时,可以选择 alone。它既适合 JDBC 工具,也可用于编程开发。这里的 shaded 指合并运行依赖,并不表示所有依赖都做了包名重定位。

Maven​

将下面的完整依赖放入 pom.xml。classifier 用来选择同一驱动、同一版本下的 -alone.jar 文件。

<dependency>
<groupId>net.hasor</groupId>
<artifactId>jdbc-mongo</artifactId>
<version>6.8.2</version>
<!-- 选择包含运行依赖的单包 -->
<classifier>alone</classifier>
<!-- 运行依赖已包含在包中,不再引入重复的 JAR -->
<exclusions>
<exclusion>
<groupId>*</groupId>
<artifactId>*</artifactId>
</exclusion>
</exclusions>
</dependency>

Gradle​

坐标末尾的 :alone 表示选择单包版本。

repositories {
mavenCentral()
}

dependencies {
implementation("net.hasor:jdbc-mongo:6.8.2:alone") {
// 运行依赖已包含在 alone 包中
transitive = false
}
}

两个产物共用 POM,因此示例中的 Maven exclusions 和 Gradle transitive = false 用于避免再次引入已经合并进 alone 的依赖,不会删除 JAR 内的类。

驱动下载、URL 模板及 DataGrip、DBeaver 配置步骤见 SQL Client。

同一驱动只选一种包,不要同时加载普通包和 alone,也不要另加 SDK JAR 尝试替换内置版本。两种包都不包含 dbVisitor ORM 模块,需要 ORM 时另行引入。