Version v0.24 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.

Examples

いくつかのコード例

概要

JDBC接続、R2DBC接続、Spring Boot連携、データベーススキーマを使ったコード生成、などの例を示します。

必要要件

  • JDK 8、もしくはそれ以降のバージョン

リポジトリの取得

komapper/komapper-examples をクローンしてください。

$ git clone https://github.com/komapper/komapper-examples.git
$ cd komapper-examples

サンプルコードの動かし方

コンソールアプリケーション

JDBC版のアプリケーションを動かすには次のコマンドを実行します。

$ ./gradlew :console-jdbc:run

R2DBC版のアプリケーションを動かすには次のコマンドを実行します。

$ ./gradlew :console-r2dbc:run

JetBrains Exposedとの比較

JetBrains Exposedのサンプルコード をKomapper用に書き換えたアプリケーションを動かすには次のコマンドを実行します。

$ ./gradlew :comparison-with-exposed:run

リポジトリパターンの実装例

リポジトリパターンの実装例にはテストコードがあります。 テストを実行するには次のコマンドを実行します。

$ ./gradlew :repository-pattern-jdbc:build

Spring Bootを使ったWebアプリケーション

JDBC版のアプリケーションを動かすには次のコマンドを実行します。

$ ./gradlew :spring-boot-jdbc:bootRun

R2DBC版のアプリケーションを動かすには次のコマンドを実行します。

$ ./gradlew :spring-boot-r2dbc:bootRun

アプリケーションが実行されたら、ブラウザで http://localhost:8080 を開いてください。 JSONで返されたデータがブラウザ上に表示されます。

データを追加するには http://localhost:8080/?text=Hi のようにクエリパラメーターでデータを渡します。 再度 http://localhost:8080 を開くと追加されたデータと合わせて一覧されます。

データベースを使ったコード生成

Komapperはデータベースのメタデータからエンティティクラスのソースコードを生成する Gradleプラグイン を提供します。

KomapperのGradleプラグインの設定は、build.gradle.ktsファイル内のkomapperブロックに記述されています。 この例ではMySQLとPostgreSQLからコード生成をします。

MySQLからコード生成するには次のコマンドを実行します。

$ ./gradlew :codegen:komapperMysqlGenerator

PostgreSQLからコード生成するには次のコマンドを実行します。

$ ./gradlew :codegen:komapperPostgresqlGenerator

MySQLからもPostgreSQLからも生成する場合は次のコマンドを実行します。

$ ./gradlew :codegen:komapperGenerator

生成コードは codgen/src/main/kotlin の下に出力されます。

この例では Testcontainers を使ってDockerコンテナ内のデータベースに接続しています。 Testcontainersの利用は必須ではありませんが、利用する利点は大きいと思われませす。