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の利用は必須ではありませんが、利用する利点は大きいと思われませす。