kotlinからmybatis3を利用してMySQLでデータの読み込みを行うための覚書です。
公式ページは断片的すぎる。個人ブログは正確性が今ひとつ・・・
ということで、ただkotlinからDBに接続してごにょごにょしたいだけなのに、やたらと試行錯誤が必要でした。
最終的に動いた環境をGithubにプッシュしましたので、設定やファイル構成などはそこから確認いただければと思います。
プロジェクトの構成
IntelliJ ideaから以下の条件でkotlinプロジェクトを作成しました
が、Gradle タスクがうまく動かなかったため、結局JDK1.8に変更しました
MyBatis利用の準備やディレクトリ構成など
こちらは実際のGithubファイルを見ていただいたほうが良いと思うので、簡単に変更点を紹介致します
・build.gradle.kts
依存関係を追加
・mybatis-config.xml
DB接続設定を追加(付属のdocker-compose.yamlで設定した内容に合わせます)
・TestMapper.xml
実際に実行するSQLが記載されています
・TestDTO
DBから取得した値を格納するためのデータクラス
テストテーブルとデータ投入
テスト用のテーブルとデータを準備します
CREATE TABLE `test`.`tbl_test` (
`id` INT NOT NULL AUTO_INCREMENT,
`member_name` VARCHAR(20) NOT NULL,
`created_at` DATETIME NOT NULL,
PRIMARY KEY (`id`));
insert into test.tbl_test values
(null, "taro", now()),
(null, "jiro", now()),
(null, "saburo", now());
実行してみる
設定を一通り行い、実行したところ値が正しく取得できていることが確認できました
以上
kotlinでmyBatis3を使用したデータベースアクセスのサンプルを紹介しました。
なんとなく、こういったサンプルは文字で長々と解説するよりは、GitHubのサンプルを見てもらったほうがわかりやすいかなと個人的には思っています。(特に、今回のような小規模なプログラムの場合)
ひとまずこれで、DBからデータが取得できるようになったので、できることの幅が広がりますね
参考
MyBatis 3 サンプルコード (Java/MySQL/Gradle)
docker-compose MySQL8.0 のDBコンテナを作成する