跳到主要内容

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-boltNeo4j 配置 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-lettuceRedis 配置 Lettuce 驱动
io.micronaut.cassandra:micronaut-cassandra配置用于 CassandraDatastax Java 驱动

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

build.gradle

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

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

警告

使用 Hibernate 的 GORM 时,不能同时依赖 hibernate-jpahibernate-gorm

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

12.2.1 配置 SQL 数据源

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

提示

使用 CLI

如果使用 Micronaut CLI 创建项目,请提供 jdbc-tomcatjdbc-hikarijdbc-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 本身负责创建 DataSourceSessionFactory 等。

提示

使用 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 的集成,请遵循这些说明

英文链接