在开发中,我正在使用以下配置连接到MySQL数据库。我喜欢将Tomcat数据源用于MySql Connection。在Micronaut文档页面上找不到示例。
application.yaml文件需要进行哪些更改才能使用Tomcat数据源?
---
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:
答案 0 :(得分:2)
在JPA中配置数据源时,您可以利用Hikari;首先,您需要导入以下内容:
implementation "io.micronaut.configuration:micronaut-hibernate-jpa"
implementation "io.micronaut.configuration:micronaut-jdbc-hikari"
顺便说一句,使用Tomcat应该只是为此更改一个Hikari:
io.micronaut.configuration:jdbc-tomcat
,但同样,Hikari更好。
我假设您已经有micronaut-hibernate-jpa
,但是无论如何我都说了。另外,您还可以将H2
添加为runtimeOnly
(例如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
中的根目录,而不是其他任何键的子代。
最后但并非最不重要的一点是,如果您需要添加更多设置来稍微调整数据源配置,则可以参考these设置。
答案 1 :(得分:0)
您需要mysql连接器。
我正在使用此版本。
compile group: 'mysql', name: 'mysql-connector-java', version:'5.1.47'
see this site.如果使用的是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