先日なんとなくktorが使えるようになったので、今度はDB操作の基本であるCRUDを組んでみようと思います
O/Rマッパーをどうするか
今回O/Rマッパーとして「Exposed」を利用してみることにしました。
Exposedはkotlinの開発元であるJetBrains謹製のO/Rマッパーですね
kotlin開発元が作成しているということで、相性やサポートも良さそうな印象があるので使ってみることにしました
サンプルプログラム
今回作成したプログラムはGitHubにあげています。
プログラムのざっくり紹介
プログラムはKtor + Exposedの構成で作成されており、以下のような仕様で動きます
・組み込みtomcat、8080ポートでリクエストを受け付けます
・CRUDの動作はPOST/GET/PUT/DELETE のそれぞれのHTTPメソッドに対応させています
POSTMANを利用した動作確認
PostManを利用した動作は以下のようになります
Create / POST

上記を実行すると、DB内にデータが作成されました

READ / GET

UPDATE / PUT

アップデートを実行すると以下のようにデータが更新されました

DELETE / DELETE

productNoをキーにDELETEを実行します

データが無事に消えました
以上
簡単ですが、Ktor+Exposedを利用した簡単なCRUD操作を紹介いたしました。
DB周りの操作を行えるようになると、アプリ開発の幅もぐっと広がりますね。
DBアクセスに付いては、ずっとSQLを記述する方式で操作をしてきたので、テーブルオブジェクトに値を設定するだけでアップデートされたり削除できたりできるのはなんとなく動作が読めず複雑な気がしますが、徐々になれていきたいと思います。
created by Rinker
¥2,640
(2024/12/17 12:33:34時点 楽天市場調べ-詳細)
created by Rinker
¥2,970
(2024/12/17 12:33:34時点 楽天市場調べ-詳細)