
目次
こんにちは。karintomania(twitter)です。
今回はJavaのORマッパー、Mybatisを使ってみます。
Projectの作成
MybatisはSpring Initializrに採用されているため、簡単に使えます。
SpringInitializr
Initializrでは以下をDependencyとして入れてください。
今回はDBとしてH2を使用するので、H2も追加しましょう。
- web
- jdbc
- mybatis
- H2
ビルドツールはGradleを使いますが、Mavenを使いたい人は適宜、読み替えてください。

build.gradle は以下のようになります。
1 | dependencies { |
設定
mybatis spring bootを使って驚いたのが、
その設定の少なさです。
今日は、何とapplication.propertiesを一行も書かずにコードが動きます。
Javaだけ書きましょう!
ただ、テスト用にテーブルを作る必要があるので、
src/main以下のresourceフォルダにschema.sqlを作成します。
これもSpring Bootなら空気を読んで、resourceフォルダに置くだけで勝手に実行してくれます。
超便利。
1 | DROP TABLE IF EXISTS BOOK_MASTER; |
Entityの定義
BOOK_MASTERに対応するEntityクラスを作ります。
特にアノテーションとかは不要です。
1 | package com.example.mybatis; |
Mapper定義
次にMapperと呼ばれるクラスを作成します。
ここに実際のSQLを記載していきます。@Mapper
アノテーションが必要です。
1 | package com.example.mybatis; |
@Optionsアノテーションでは、Auto_incrementで生成されたIDを取得するように設定しています。
idが0のBookクラスを渡しても自動で値を更新してくれます。
さて、BookMapperを呼び出すControllerを書いてみます。
GETで検索、POSTで挿入ですね。
BookMapperはAutowiredでDIすることができます。
1 | package com.example.mybatis; |
curlコマンドでテストしてみます。
1 | // 全件選択 |
ちゃんと動きました!!!
所感
設定が少なく動作するのがいいですね。
これまでJPAしか使っていなかったのですが、
より軽量な代替案として使っていこうと思います。
それでは今日はこの辺で。
ところで…
仕事で扱っている技術がレガシーだったり、同じことの繰り返しだったりで
最近、成長してないと感じてませんか?
転職することで、もっと成長できるかもしれません。
いますぐ転職しない人でも、とりあえずエージェントに登録しておいて
案件や年収を眺めるだけでも市場の需要を知ることができ、勉強になります。
ここでエンジニアに人気の転職サイトを紹介します。
レバテックキャリア
エンジニアとして働いていて実務経験があるなら、
求人数の充実具合からレバテックキャリアがおすすめです。
IT転職ではデファクト・スタンダードですね。
▼レバテック キャリア 登録はこちら▼
Tech Clips
Tech Clipsは年収500万以上&自社サービスを持った会社に特化した求人サイトです。
首都圏限定になってはしまいますが、
収入を増やしたい、自社サービスを持った企業への転職をしたい人におすすめです。
関連記事
こちらの記事もおすすめです。
Macの無料SQLクライアントDBeaverを紹介する
Spring BootでJDBIを使う