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.
サンプルアプリケーション
概要
JDBC接続、R2DBC接続、 Spring Boot 連携、 Ktor 連携など、実行可能なサンプルアプリケーションをいくつか提供します。
必要要件
サンプルアプリケーションの動作に必要な要件です。
- JDK 11、もしくはそれ以降のバージョン
- Docker(spring-native-jdbc など一部のサンプルが利用)
リポジトリの取得
komapper/komapper-examples をクローンしてください。
$ git clone https://github.com/komapper/komapper-examples.git
$ cd komapper-examples
リポジトリはGradleのマルチプロジェクト構成です。 サンプルアプリケーションはGradleのサブプロジェクトとして実装されています。
サンプルアプリケーションの説明
console-jdbc
このプロジェクトは、コンソールアプリケーションからJDBCの接続を行います。
動かすには以下のコマンドを実行します。
$ ./gradlew :console-jdbc:run
console-r2dbc
このプロジェクトは、コンソールアプリケーションからR2DBCの接続を行います。
動かすには以下のコマンドを実行します。
$ ./gradlew :console-r2dbc:run
quarkus-jdbc
このプロジェクトは、JDBCを使ってPostgreSQLデータベースにアクセスするQuarkusのウェブアプリケーションです。
詳細は README をご覧ください。
spring-boot-jdbc
このプロジェクトは、Spring Bootを使ったWebアプリケーションからJDBCの接続を行います。
動かすには次のコマンドを実行します。
$ ./gradlew :spring-boot-jdbc:bootRun
アプリケーションが実行されたら、ブラウザで http://localhost:8080
を開いてください。
JSONで返されたデータがブラウザ上に表示されます。
データを追加するには http://localhost:8080/?text=Hi
のようにクエリパラメーターでデータを渡します。
再度 http://localhost:8080
を開くと追加されたデータと合わせて一覧されます。
spring-boot-r2dbc
このプロジェクトは、Spring Bootを使ったWebアプリケーションからR2DBCの接続を行います。
動かすには次のコマンドを実行します。
$ ./gradlew :spring-boot-r2dbc:bootRun
アプリケーションが実行されたら、ブラウザで http://localhost:8080
を開いてください。
JSONで返されたデータがブラウザ上に表示されます。
データを追加するには http://localhost:8080/?text=Hi
のようにクエリパラメーターでデータを渡します。
再度 http://localhost:8080
を開くと追加されたデータと合わせて一覧されます。
spring-native-jdbc
このプロジェクトは Spring Native に対応したアプリケーションです。 データベースの接続にJDBCを用います。
以下のコマンドでネイティブアプリケーションをビルドできます。
$ ./gradlew :spring-native-jdbc:bootBuildImage
アプリケーションを動かすには次のようにDockerを起動します。
$ docker run --rm -p 8080:8080 docker.io/library/spring-native-jdbc:0.0.1
アプリケーションが実行されたら、ブラウザで http://localhost:8080
を開いてください。
JSONで返されたデータがブラウザ上に表示されます。
データを追加するには http://localhost:8080/?text=Hi
のようにクエリパラメーターでデータを渡します。
再度 http://localhost:8080
を開くと追加されたデータと合わせて一覧されます。
spring-native-r2dbc
このプロジェクトは Spring Native に対応したアプリケーションです。 データベースの接続にR2DBCを用います。
現在のバージョンでは、Kotlin コルーチンに関する制約を受けます。
repository-pattern-jdbc
このプロジェクトは、リポジトリパターンの実装例を含みます。
リポジトリパターンを呼び出すテストを実行するには次のコマンドを実行します。
$ ./gradlew :repository-pattern-jdbc:check
codegen
このプロジェクトは、Gradleプラグイン を使用してデータベースのメタデータからエンティティクラスのソースコードを生成します。
Note
このプロジェクトは、Testcontainers を使っているため 実行にあたってはDockerコンテナ内が必要です。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
の下に出力されます。
comparison-with-exposed
このプロジェクトは、JetBrains Exposedのサンプルコード をKomapper用に書き換えたものです。
動かすには次のコマンドを実行します。
$ ./gradlew :comparison-with-exposed:run
jpetstore
このプロジェクトは、Spring Bootを使ったWebアプリケーションからJDBCの接続を行います。 MyBatisの jpetstore-6 をベースにしたアプリケーションです。
動かすには次のコマンドを実行します。
$ ./gradlew :jpetstore:bootRun
アプリケーションが実行されたら、ブラウザで http://localhost:8080
を開いてください。
サインインが求められる箇所では以下のusernameとpasswordが利用できます。
- username: jpetstore
- password: jpetstore
kweet
このプロジェクトは、Ktorを使ったWebアプリケーションからR2DBCの接続を行います。 Ktorの Kweet をベースにしたアプリケーションです。
動かすには次のコマンドを実行します。
$ ./gradlew :kweet:run
アプリケーションが実行されたら、ブラウザで http://localhost:8080
を開いてください。