Micronaut Настройка micronaut-jdbc-tomcat Источник данных для MySQL
В разработке я использую приведенную ниже конфигурацию для подключения к базе данных 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:
2 ответа
При настройке источника данных в JPA вы можете воспользоваться Hikari; сначала вам нужно будет импортировать эти:
implementation "io.micronaut.configuration:micronaut-hibernate-jpa"
implementation "io.micronaut.configuration:micronaut-jdbc-hikari"
Кстати, использование Tomcat должно быть вопросом изменения Hikari для этого:
io.micronaut.configuration:jdbc-tomcat
Но опять же, Хикари намного лучше.
Я предполагаю, что у вас уже есть 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}
... и вы должны быть готовы! Почти полностью рабочий пример здесь.
datasources
находится в корне вapplication.yml
, а не как ребенок любого другого ключа (ей).
И последнее, но не менее важное: если вам нужно добавить больше настроек, чтобы немного подправить конфигурацию источника данных, вы можете ссылаться на эти настройки.
Вам нужен разъем 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