Version v1.0 of the documentation is no longer actively maintained. The site that you are currently viewing is an archived snapshot. For up-to-date documentation, see the latest version.

データベースの設定

概要

Databaseインスタンスの生成時にDatabaseConfigインスタンスを与えることで挙動をカスタマイズできます。

JdbcDatabaseインスタンスを生成する例です。

val dataSource: DataSource = ..
val dialect: JdbcDialect = ..
val config: JdbcDatabaseConfig = object: DefaultJdbcDatabaseConfig(dataSource, dialect) {
    // you can override properties here
}
val db = JdbcDatabase(config)

R2dbcDatabaseインスタンスを生成する例です。

val connectionFactory: ConnectionFactory = ..
val dialect: R2dbcDialect = ..
val config: R2dbcDatabaseConfig = object: DefaultR2dbcDatabaseConfig(connectionFactory, dialect) {
  // you can override properties here
}
val db = R2dbcDatabase(config)

プロパティ

下記に説明するJdbcDatabaseConfigR2dbcDatabaseConfigのプロパティをオーバーライドしたりサービスローダーの仕組みを使うことで挙動をカスタマイズできます。

clockProvider

Clockのプロバイダーです。

プロバイダによって提供されたClock@KomapperCreatedAt@KomapperUpdatedAtが付与されたエンティティクラスのプロパティにタイムスタンプを設定する際に利用されます。

デフォルトでは、システムデフォルトのゾーンIDを使って現在時刻を生成するプロバイダーを返します。

executionOptions

JDBCやR2DBCのデフォルトの実行時オプションです。 下記の設定ができます。

batchSize
INSERT、UPDATE、DELETEでバッチ更新を行う際のバッチサイズです。デフォルトはnullです。クエリオプションでも指定されない場合10が使われます。
fetchSize
SELECT文発行時のフェッチサイズです。デフォルトはnullでドライバの値を使うことを示します。
maxRows
SELECT文発行時の最大行数です。デフォルトはnullでドライバの値を使うことを示します。
queryTimeoutSeconds
クエリタイムアウトの秒数です。デフォルトはnullでドライバの値を使うことを示します。
suppressLogging
SQLのログ出力を抑制するかどうかです。デフォルトはfalseです。

これらは全てクエリのオプションで上書きできます。

logger

ロガーです。

デフォルトでは、サービスローダーでファクトリを取得しファクトリから利用すべきロガーを生成します。 サービスローダーでファクトリを取得できない場合、出力先を標準出力とするロガーを返します。

以下のモジュールがサービスローダー対応のファクトリを持ちます。

  • komapper-slf4j

ロギングも参照ください。

loggerFacade

ロガーのファサードです。

実行されるSQLやトランザクションに関するログ出力指示を受け付け、ログメッセージをフォーマットし、ロガーへ送ります。 Komapperから出力されるログはすべてこのファサードを経由します。

ログメッセージやログレベルを変更するには、ファサードの実装を切り替えてください。

ロギングも参照ください。

statementInspector

org.komapper.core.Statementのインスペクターです。 実行直前にSQLを変換します。

デフォルトでは、サービスローダーでファクトリを取得しファクトリから利用すべきインスペクターを生成します。 サービスローダーでファクトリを取得できない場合、何もしないインスペクターを返します。

以下のモジュールがサービスローダー対応のファクトリを持ちます。

  • komapper-sqlcommenter

templateStatementBuilder

SQLテンプレートからorg.komapper.core.Statementを生成するビルダーです。

デフォルトでは、サービスローダーでファクトリを取得しファクトリから利用すべきビルダーを生成します。 サービスローダーでファクトリを取得できない場合、例外をスローします。

以下のモジュールがサービスローダー対応のファクトリを持ちます。

  • komapper-template

Templateクエリも参照ください。

最終更新 March 10, 2022: Update the title and linkTitle (9e170b8)