0

在开发中,我使用以下配置连接到 MySQL 数据库。我喜欢将 Tomcat 数据源用于 MySql 连接。在 Micronaut 文档页面中没有找到示例。

使用 Tomcat 数据源需要对 application.yaml 文件进行哪些更改?

---
datasources.default: {}
---
hibernate:
  hbm2ddl:
    auto: update
  cache:
    queries: false
    use_second_level_cache: true
    use_query_cache: false
    region.factory_class: org.hibernate.cache.ehcache.SingletonEhCacheRegionFactory
dataSource:
  url: jdbc:mysql://localhost:3306/db
  dbCreate: create-update
  pooled: true
  jmxExport: true
  driverClassName: com.mysql.cj.jdbc.Driver
  dialect: org.hibernate.dialect.MySQL5InnoDBDialect
  username:  
  password:
4

2 回答 2

2

在 JPA 中配置数据源时,您可以利用 Hikari;首先你需要导入这些:

implementation "io.micronaut.configuration:micronaut-hibernate-jpa"
implementation "io.micronaut.configuration:micronaut-jdbc-hikari"

我假设你已经有了micronaut-hibernate-jpa,但我还是把它放了。此外,您还可以添加H2as runtimeOnly(like runtimeOnly "com.h2database:h2"),以便更容易引导和测试应用程序。

之后,您只需将这些添加到您的application.yml

datasources:
  default:
    driverClassName: ${JDBC_DRIVER:org.h2.Driver}
    password: ${JDBC_PASSWORD:""}
    url: ${JDBC_URL:`jdbc:h2:mem:test_db;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE;MODE=PostgreSQL`}
    username: ${JDBC_USER:sa}

......你应该准备好了!一个几乎完全有效的例子是here

datasources位于 中的根目录application.yml,而不是任何其他键的子项。

最后但同样重要的是,如果您需要添加更多设置来稍微调整数据源配置,您可以参考这些设置。

于 2019-01-06T17:57:14.870 回答
0

你需要mysql连接器。

我正在使用这个版本。

compile group: 'mysql', name: 'mysql-connector-java', version:'5.1.47'

看到这个网站。如果您使用的是 Mysql 5.x,则需要 5.x 的驱动程序并使用driverClassName: "com.mysql.jdbc.Driver". 但是如果您使用的是 Mysql 8.x ,则需要 8.x 的驱动程序并使用driverClassName: "com.mysql.cj.jdbc.Driver"

这取决于您的 Mysql 版本。

你需要其中之一:

compile "io.micronaut.configuration:micronaut-hibernate-jpa"
compile "io.micronaut.configuration:micronaut-jdbc-hikari"

或者你可以使用

compile "io.micronaut.configuration:micronaut-jdbc-tomcat"
compile "io.micronaut.configuration:micronaut-hibernate-jpa"

请参阅本指南:

http://guides.micronaut.io/micronaut-data-access-jpa-hibernate/guide/index.html

于 2019-01-10T07:55:53.083 回答