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)