サンプルアプリケーション

いくつかのサンプルアプリケーション

概要

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プラグイン を使用してデータベースのメタデータからエンティティクラスのソースコードを生成します。

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 を開いてください。

最終更新 March 10, 2022: Update the title and linkTitle (9e170b8)