Quarkus - Doma - Deployment

Quarkus Extension for Doma

Лицензия

Лицензия

Категории

Категории

Quarkus Контейнер Микросервисы Doma Данные ORM
Группа

Группа

org.seasar.doma
Идентификатор

Идентификатор

doma-quarkus-deployment
Последняя версия

Последняя версия

1.1.0
Дата

Дата

Тип

Тип

jar
Описание

Описание

Quarkus - Doma - Deployment
Quarkus Extension for Doma

Скачать doma-quarkus-deployment

Как подключить последнюю версию

<!-- https://jarcasting.com/artifacts/org.seasar.doma/doma-quarkus-deployment/ -->
<dependency>
    <groupId>org.seasar.doma</groupId>
    <artifactId>doma-quarkus-deployment</artifactId>
    <version>1.1.0</version>
</dependency>
// https://jarcasting.com/artifacts/org.seasar.doma/doma-quarkus-deployment/
implementation 'org.seasar.doma:doma-quarkus-deployment:1.1.0'
// https://jarcasting.com/artifacts/org.seasar.doma/doma-quarkus-deployment/
implementation ("org.seasar.doma:doma-quarkus-deployment:1.1.0")
'org.seasar.doma:doma-quarkus-deployment:jar:1.1.0'
<dependency org="org.seasar.doma" name="doma-quarkus-deployment" rev="1.1.0">
  <artifact name="doma-quarkus-deployment" type="jar" />
</dependency>
@Grapes(
@Grab(group='org.seasar.doma', module='doma-quarkus-deployment', version='1.1.0')
)
libraryDependencies += "org.seasar.doma" % "doma-quarkus-deployment" % "1.1.0"
[org.seasar.doma/doma-quarkus-deployment "1.1.0"]

Зависимости

compile (4)

Идентификатор библиотеки Тип Версия
io.quarkus : quarkus-core-deployment jar
org.seasar.doma : doma-quarkus jar 1.1.0
io.quarkus : quarkus-arc-deployment jar
io.quarkus : quarkus-agroal-deployment jar

test (5)

Идентификатор библиотеки Тип Версия
io.quarkus : quarkus-junit5-internal jar
io.quarkus : quarkus-test-h2 jar
io.quarkus : quarkus-jdbc-h2-deployment jar
io.quarkus : quarkus-resteasy-deployment jar
io.rest-assured : rest-assured jar

Модули Проекта

Данный проект не имеет модулей.

Quarkus Extension for Doma

Notice

THIS REPOSITORY IS NOW FROZEN.

The new version is here: https://github.com/quarkiverse/quarkiverse-doma

Overview

Quarkus Extension for Doma provides the following features:

  • Hot reloading
  • Automatic bean register
  • Automatic SQL execution on startup
  • Configuration
  • Multiple Datasources
  • Support for native images

Build Status Google Group : doma-user Twitter

Hot reloading

In development mode, SQL and Script files are hot reloaded.

Automatic bean register

Our extension registers all DAO beans to the Quarkus CDI container automatically.

Automatic SQL import on startup

Our extension executes import.sql automatically when Doma starts.

Configuration

You can write the following configurations in your application.properties file:

quarkus.doma.sql-file-repository=greedy-cache
quarkus.doma.naming=none
quarkus.doma.exception-sql-log-type=none
quarkus.doma.dialect=h2
quarkus.doma.batch-size=10
quarkus.doma.fetch-size=50
quarkus.doma.max-rows=500
quarkus.doma.query-timeout=5000
quarkus.doma.sql-load-script=import.sql

The above properties are all optional.

See quarkus-doma.adoc for more details.

Multiple Datasources

You can bind Doma's configurations to each datasource as follows:

# default datasource
quarkus.datasource.db-kind=h2
quarkus.datasource.username=username-default
quarkus.datasource.jdbc.url=jdbc:h2:tcp://localhost/mem:default
quarkus.datasource.jdbc.min-size=3
quarkus.datasource.jdbc.max-size=13

# inventory datasource
quarkus.datasource.inventory.db-kind=h2
quarkus.datasource.inventory.username=username2
quarkus.datasource.inventory.jdbc.url=jdbc:h2:tcp://localhost/mem:inventory
quarkus.datasource.inventory.jdbc.min-size=2
quarkus.datasource.inventory.jdbc.max-size=12

# Doma's configuration bound to the above default datasource
quarkus.doma.dialect=h2
quarkus.doma.batch-size=10
quarkus.doma.fetch-size=50
quarkus.doma.max-rows=500
quarkus.doma.query-timeout=5000
quarkus.doma.sql-load-script=import.sql

# Doma's configuration bound to the above inventory datasource
quarkus.doma.inventory.dialect=h2
quarkus.doma.inventory.batch-size=10
quarkus.doma.inventory.fetch-size=50
quarkus.doma.inventory.max-rows=500
quarkus.doma.inventory.query-timeout=5000
quarkus.doma.inventory.sql-load-script=import.sql

You can inject the named Doma's resource using the io.quarkus.agroal.DataSource qualifier as follows:

@Inejct
Config defaultConfig;

@Inejct
Entityql defaultEntityql;

@Inejct
NativeSql defaultNativeSql;

@Inejct
@DataSource("inventory")
Config invetoryConfig;

@Inejct
@DataSource("inventory")
Entityql inventoryEntityql;

@Inejct
@DataSource("inventory")
NativeSql inventoryNativeSql;

Support for native images

Our extension recognizes reflective classes and resources, and includes them into your native image without additional configurations.

Supported Java version

Quarkus supports Java 8 or Java 11+ but Quarkus Extension for Doma requires Java 11+.

How to use

Gradle

dependencies {
    annotationProcessor "org.seasar.doma:doma-processor:2.44.0"
    implementation "org.seasar.doma:doma-core:2.44.0"
    implementation "org.seasar.doma:doma-quarkus-deployment:1.1.0"
}

Maven

...
<properties>
    <org.seasar.doma.version>2.44.0</org.seasar.doma.version>
    <org.seasar.doma-quarkus.version>1.1.0</org.seasar.doma-quarkus.version>
    <compiler-plugin.version>3.8.1</compiler-plugin.version>
</properties>
...
<dependencies>
    <dependency>
        <groupId>org.seasar.doma</groupId>
        <artifactId>doma-core</artifactId>
        <version>${org.seasar.doma.version}</version>
    </dependency>
    <dependency>
        <groupId>org.seasar.doma</groupId>
        <artifactId>doma-quarkus-deployment</artifactId>
        <version>${org.seasar.doma-quarkus.version}</version>
    </dependency>
</dependencies>
...
<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>${compiler-plugin.version}</version>
            <configuration>
                <source>11</source>
                <target>11</target>
                <!-- the parameters=true option is critical so that RESTEasy works fine -->
                <parameters>true</parameters>
                <annotationProcessorPaths>
                    <path>
                        <groupId>org.seasar.doma</groupId>
                        <artifactId>doma-processor</artifactId>
                        <version>${doma.version}</version>
                    </path>
                </annotationProcessorPaths>
            </configuration>
        </plugin>
    </plugins>
</build>

Sample project

Related information

org.seasar.doma

domaframework

Database mapping framework and related projects for Java

Версии библиотеки

Версия
1.1.0
1.0.4
1.0.3
1.0.2
1.0.1
1.0.0
0.5.0
0.4.0
0.3.0
0.2.0
0.1.0