#20 Spring Mybatisを利用したデータベース操作[1. 環境構築、テーブル作成]
この記事ではMybatisの環境構築とOracleDBを用いたテーブルの作成を行います。
前提条件
この記事はSpringの最低限の知識が必要になります。
また、なるべく分かりやすく書くつもりですが、この記事の目的は自分の勉強のアウトプットであるため、所々説明は省略します。
前回まで
前回の記事ではOracleデータベースの接続設定を行いました。
構築環境
-
各バージョン
Spring Boot ver 2.7.5
mybatis-spring-boot-starter ver 2.2.2
Model Mapper ver 3.1.0
jquery ver 3.6.1
bootstrap ver 5.2.2
webjars-locator ver 0.46
thymeleaf-layout-dialect ver 3.0.0
成果物
今回行うこと
今回は以下の流れに沿って進めていきます。
- MyBatisとは
- MyBatisとModelMapperのダウンロード
- application.propertiesに追加の記述
- テーブルの追加
1. M_USER
2. M_PRODUCT
3. T_PURCHASE
4. T_STOCK
1. MyBatisとは
MyBatisとは高度な機能が用意されたO/Rマッパーです。O/RマッパーとはJavaクラス(オブジェクト)と、データベースをマッピングするフレームワークです。ObjectとRelation(テーブル)をマッピングするため、O/Rマッパーと呼ばれます。
MyBatisはObjectとSQLをxmlファイルを用いてマッピングします。xmlファイル意外にもSQLを書くことはできますが、管理の点からあまり使用されないそうです。
2. MyBatisとModelMapperのダウンロード
MyBatisとModelMapperの両方をダウンロードするにはpom.xml
に以下の内容を記述します。
<!--省略-->
<!-- MyBatis -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.2.2</version>
</dependency>
<!-- Model Mapper -->
<dependency>
<groupId>org.modelmapper.extensions</groupId>
<artifactId>modelmapper-spring</artifactId>
<version>3.1.0</version>
</dependency>
<!--省略-->
Model Mapper:インスタンスの内容をコピーするライブラリ
3. application.propertiesに追加の記述
1. MyBatisとは
で説明したようにSQLはxmlファイルに記述します。その記述するファイル場所をapplication.properties記載します。
また、logging.level.パッケージ名=ログレベル
を指定することができます。下記コードではcom.example
パッケージ内のログレベルをdebug
に変更しています。これによりMybatisなどのログが出力されます。
# 省略
# MyBatis
mybatis.mapper-locations=classpath*:mapper/*.xml
# Log Level
logging.level.com.example=debug
4. テーブルの追加
ここではテーブルと初期データの追加を行います。
今回は以下の4つのテーブルを作成します。
この記事を書いている本人はテーブル作成に関してあまり知識がないのでこのテーブルの書き方で合っているか微妙です。
1. M_USER
ユーザー情報を持ったマスタテーブル
2. M_PRODUCT
商品情報を持ったマスタテーブル
3. T_PURCHASE
どのユーザーがどの商品をいつ、何個購入したか記録するトランザクションテーブル
4. T_STOCK
商品の在庫数を記録するトランザクションテーブル
最後に
今回は環境構築とテーブルの作成を行いました。
今後はSQLを用いたデータの変更等を行っていきます。