跳到主要内容

12.2 数据访问配置

本表总结了为启用这些模块而需要添加到构建中的配置模块和依赖:

表 1.数据访问配置模块

依赖描述
io.micronaut.sql:micronaut-jdbc-dbcp使用 Commons DBCP 配置 SQL 数据源
io.micronaut.sql:micronaut-jdbc-hikari使用 Hikari 连接池配置 SQL 数据源
io.micronaut.sql:micronaut-jdbc-tomcat使用 Tomcat 连接池配置 SQL 数据源
io.micronaut.sql:micronaut-hibernate-jpa配置 Hibernate/JPA EntityManagerFactory Bean
io.micronaut.groovy:micronaut-hibernate-gorm为 Groovy 应用程序配置 Hibernate 的 GORM
io.micronaut.mongodb:micronaut-mongo-reactive配置 MongoDB Reactive 驱动
io.micronaut.groovy:micronaut-mongo-gorm为 Groovy 应用程序配置 MongoDB 的 GORM
io.micronaut.neo4j:micronaut-neo4j-bolt为 Neo4j 配置 Bolt Java 驱动
io.micronaut.groovy:micronaut-neo4j-gorm为 Groovy 应用程序配置 Neo4j 的 GORM
io.micronaut.sql:micronaut-vertx-mysql-client配置响应式 MySQL 客户端
io.micronaut.sql:micronaut-vertx-pg-client配置响应式 Postgres 客户端
io.micronaut.redis:micronaut-redis-lettuce为 Redis 配置 Lettuce 驱动
io.micronaut.cassandra:micronaut-cassandra配置用于 Cassandra 的 Datastax Java 驱动

例如,要添加对 MongoDB 的支持,请添加以下依赖:

build.gradle

compile "io.micronaut.mongodb:micronaut-mongo-reactive"

对于 Groovy 用户,Micronaut 为 GORM 提供特殊支持。

警告

使用 Hibernate 的 GORM 时,不能同时依赖 hibernate-jpa 和 hibernate-gorm。

以下各节将详细介绍配置选项和每种实现所暴露的 Bean。

12.2.1 配置 SQL 数据源​

JDBC 数据源可配置为当前提供的三种实现之一--默认支持 Apache DBCP2、Hikari 和 Tomcat。 配置 JDBC 数据源

提示

使用 CLI

如果使用 Micronaut CLI 创建项目,请提供 jdbc-tomcat、jdbc-hikari 或 jdbc-dbcp 功能之一,以便在项目中预先配置一个简单的 JDBC 连接池,以及一个默认的 H2 数据库驱动程序:

$ mn create-app my-app --features jdbc-tomcat

要开始操作,请为与你将使用的实现相对应的 JDBC 配置之一添加依赖。请选择以下之一:

runtimeOnly("io.micronaut.sql:micronaut-jdbc-tomcat")
runtimeOnly("io.micronaut.sql:micronaut-jdbc-hikari")
runtimeOnly("io.micronaut.sql:micronaut-jdbc-dbcp")
runtimeOnly("io.micronaut.sql:micronaut-jdbc-ucp")

此外,在构建过程中添加 JDBC 驱动程序依赖关系。例如,添加 H2 内存数据库:

runtimeOnly("com.h2database:h2")

更多信息,参阅 Micronaut SQL 库项目中的配置 JDBC 部分。

12.2.2 配置 Hibernate​

设置 Hibernate/JPA EntityManager

提示

使用 CLI

如果使用 Micronaut CLI 创建项目,请提供 hibernate-jpa 功能,以便在项目中包含 Hibernate JPA 配置:

$ mn create-app my-app --features hibernate-jpa

Micronaut 支持在 SQL 数据源支持的基础上配置 Hibernate / JPA EntityManager。

一旦你配置了一个或多个数据源以使用 Hibernate,请将 hibernate-jpa 依赖添加到你的构建中:

implementation("io.micronaut.sql:micronaut-hibernate-jpa")

更多信息,参阅 Micronaut SQL 库 项目中的配置 Hibernate 部分。

使用 Hibernate 的 GORM

对于 Groovy 用户和熟悉 Grails 框架的用户,可以使用 Hibernate 的 GORM 特殊支持。要使用 Hibernate 的 GORM,就不要使用 Micronaut 内置的 SQL 支持或 hibernate-jpa 依赖项,因为 GORM 本身负责创建 DataSource、SessionFactory 等。

提示

使用 CLI

如果使用 Micronaut CLI 创建项目,请提供 hibernate-gorm 特性,以便在项目中包含 GORM、基本连接池配置和默认 H2 数据库驱动程序:

$ mn create-app my-app --features hibernate-gorm

参阅 Micronaut for Groovy 用户指南中的 GORM 模块部分。

12.2.3 配置 MongoDB​

设置本地 MongoDB 驱动程序

提示

使用 CLI

如果使用 Micronaut CLI 创建项目,请使用 mongo-reactive 特性在项目中配置本地 MongoDB 驱动:

$ mn create-app my-app --features mongo-reactive

Micronaut 可以自动配置本地 MongoDB Java 驱动。要使用此特性,请在构建过程中添加以下依赖:

implementation("io.micronaut.mongodb:micronaut-mongo-reactive")

然后在配置文件(如 application.yml)中配置 MongoDB 服务器的 URI:

配置 MongoDB 服务器

mongodb.uri=mongodb://username:password@localhost:27017/databaseName
提示

mongodb.uri 遵循 MongoDB 连接字符串格式。

这样,一个非阻塞的响应式流的 MongoClient 就可以用于依赖注入了。

要使用阻塞型驱动程序,请在构建过程中添加对 mongo-java-driver 的依赖:

runtimeOnly "org.mongodb:mongo-java-driver"

然后,阻塞的 MongoClient 将可用于注入。

有关在 Micronaut 中配置和使用 MongoDB 的更多信息,参阅 Micronaut MongoDB 文档。

12.2.4 配置 Neo4j​

Micronaut 专门支持为流行的 Neo4j Graph 数据库自动配置 Neo4j Bolt 驱动程序。

提示

使用 CLI

如果你使用 Micronaut CLI 创建你的项目,提供 neo4j-bolt 特性在你的项目中配置 Neo4j Bolt 驱动:

$ mn create-app my-app --features neo4j-bolt

要配置 Neo4j Bolt 驱动,首先要在构建中添加 neo4j-bolt 模块:

implementation("io.micronaut:micronaut-neo4j-bolt")

然后在配置文件(如 application.yml)中配置 Neo4j 服务器的 URI:

配置 neo4j.uri

neo4j.uri=bolt://localhost
提示

neo4j.uri 设置的格式必须与 Neo4j 文档中连接 URI部分所描述的格式一致。

一旦上述配置就绪,你就可以注入一个 org.neo4j.driver.v1.Driver bean 实例,它具有同步阻塞 API 和基于 CompletableFuture 的非阻塞 API。

有关在 Micronaut 中配置和使用 Neo4j 的更多信息,参阅 Micronaut Neo4j 文档。

12.2.5 配置 Postgres​

Micronaut 支持使用 vertx-pg-client 连接 Postgres 的反应式非阻塞客户端,它可以用单线程处理多个数据库连接。

配置响应式 Postgres 客户端​

提示

使用 CLI

如果使用 Micronaut CLI 创建项目,请使用 vertx-pg-client 功能在项目中配置响应式 Postgres 客户端:

$ mn create-app my-app --features vertx-pg-client

要配置响应式 Postgres 客户端,首先要在构建过程中添加 vertx-pg-client 模块:

build.gradle

compile "io.micronaut.sql:micronaut-vertx-pg-client"

更多信息,参阅 Micronaut SQL 库项目中的配置响应式 Postgres 部分。

12.2.6 配置 Redis​

Micronaut 通过 redis-lettuce 模块为 Redis 自动配置 Lettuce 驱动。

配置 Lettuce​

提示

使用 CLI

如果使用 Micronaut CLI 创建项目,请使用 redis-lettuce 功能在项目中配置 Lettuce 驱动:

$ mn create-app my-app --features redis-lettuce

要配置 Lettuce 驱动,首先要在构建过程中添加 redis-lettuce 模块:

build.gradle

compile "io.micronaut.redis:micronaut-redis-lettuce"

然后在配置文件(如 application.yml)中配置 Redis 服务器的 URI:

配置 redis.uri

redis.uri=redis://localhost
提示

redis.uri 设置的格式必须与 Lettuce 维基中连接 URI 部分所描述的格式一致。

你也可以使用 redis.uris 指定多个 Redis URI,在这种情况下,会创建一个 RedisClusterClient。

更多信息和文档,参阅 Micronaut Redis 文档。

12.2.7 配置 Cassandra​

提示

使用 CLI

如果使用 Micronaut CLI 创建项目,请提供 cassandra 特性,以便在项目中包含 Cassandra 配置:

$ mn create-app my-app --features cassandra

更多信息,参阅 Micronaut Cassandra 模块文档。

12.2.8 配置 Liquibase​

要配置 Micronaut 与 Liquibase 的集成,请遵循这些说明。

12.2.9 配置 Flyway​

要配置 Micronaut 与 Flyway 的集成,请遵循这些说明。

英文链接