Version v1.0-RC1 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.
ダイアレクト
概要
ダイアレクトはデータベースやドライバの差異を吸収します。 ダイアレクトの代表的な機能はKotlinとデータベースの型の対応関係を解決することです。
ダイアレクトを表すクラスは個別のモジュール(Artifact)に含まれており、 どのモジュールを利用するかは接続先データベースや接続タイプに合わせて選択する必要があります。
Database | Type | Artifact ID | Dialect Class |
---|---|---|---|
H2 Database Engine | JDBC | komapper-dialect-h2-jdbc | H2JdbcSqlDialect |
H2 Database Engine | R2DBC | komapper-dialect-h2-r2dbc | H2R2dbcSqlDialect |
MariaDB | JDBC | komapper-dialect-mariadb-jdbc | MariaDbJdbcDialect |
MySQL | JDBC | komapper-dialect-mysql-jdbc | MySqlJdbcDialect |
Oracle Database | JDBC | komapper-dialect-oracle-jdbc | OracleJdbcDialect |
Oracle Database | R2DBC | komapper-dialect-oracle-r2dbc | OracleR2dbcDialect |
PostgreSQL | JDBC | komapper-dialect-postgresql-jdbc | PostgreSqlJdbcDialect |
PostgreSQL | R2DBC | komapper-dialect-postgresql-r2dbc | PostgreSqlR2dbcDialect |
SQL Server | JDBC | komapper-dialect-sqlserver-jdbc | SqlServerJdbcDialect |
SQL Server | R2DBC | komapper-dialect-sqlserver-r2dbc | SqlServerR2dbcDialect |
ダイアレクトを利用するにはGradleの依存関係の宣言の中で上述のArtifact IDを記述します。
val komapperVersion: String by project
dependencies {
implementation("org.komapper:komapper-dialect-h2-jdbc:$komapperVersion")
}
kotlinx-datetimeのサポート
Komapperは kotlinx-datetime の以下のデータ型をサポートします。
- kotlinx.datetime.Instant
- kotlinx.datetime.LocalDate
- kotlinx.datetime.LocalDateTime
これらの型を利用するには、Gradleの依存関係の宣言で次のように宣言してください。
dependencies {
implementation("org.jetbrains.kotlinx:kotlinx-datetime:0.3.2")
}
また、komapper-datetime-jdbc
もしくはkomapper-datetime-r2dbc
を追加してください。
val komapperVersion: String by project
dependencies {
runtimeOnly("org.komapper:komapper-datetime-jdbc:$komapperVersion")
}
H2 - JDBC
H2 - R2DBC
MariaDB - JDBC
MySQL - JDBC
Oracle - JDBC
Oracle - R2DBC
PostgreSQL - JDBC
PostgreSQL - R2DBC
SQL Server - JDBC
SQL Server - R2DBC
最終更新 May 4, 2022: Rename dialects (55d344f)