データベースアクセスにDoma2を使用する

データベースアクセスライブラリとして、 Doma2 を使う方法について説明します。

以下のサンプルコードの動作確認環境については、 動作確認環境と依存ライブラリについて を参照してください。

Doma2を使うための設定例

pom.xml

依存ライブラリにdoma-spring-boot-starterdoma-processorを追加することで、Doma2用の設定が自動的に行われます。

<dependency>
  <groupId>org.seasar.doma.boot</groupId>
  <artifactId>doma-spring-boot-starter</artifactId>
  <version>1.7.0</version>
</dependency>
<dependency>
  <groupId>org.seasar.doma</groupId>
  <artifactId>doma-processor</artifactId>
  <version>2.53.1</version>
  <optional>true</optional>
</dependency>
<dependency>
  <groupId>org.seasar.doma</groupId>
  <artifactId>doma-slf4j</artifactId>
  <version>2.53.1</version>
</dependency>
application.properties

使用するデータベースをDoma2に認識させるための設定を追加します。

# データベースの設定をします。
doma.dialect=h2
# fetch-sizeやbatch-sizeのデフォルト設定をします。
doma.batch-size=500
doma.fetch-size=500
doma.naming=snake_lower_case
doma.jdbc-logger=SLF4J
# SQLの実行ログ(INFOレベル)が出力されないようにします。
logging.level.org.seasar.doma=warn

Tip

ビルドツールにGradleを使用している場合はDoma CodeGen Pluginを使用することで、EntityクラスやDAOクラス、SQLファイルなどを生成することができます。

サンプル全体は doma2-sample を参照してください。

Doma2が送出する例外の変換

Doma2が送出する例外は、 doma-spring-boot-starter の機能でSpringの例外クラスに変換されます。 そのため、送出される例外を捕捉する場合は、Springの例外クラスを捕捉するようにしてください。 Doma2の例外クラスとSpringの例外クラスのマッピングについては、以下を参照してください。