はじめに
こんにちは、Gakken LEAP のバックエンドエンジニアの Matsuura です。
Spring(Java)でDB操作の処理を実装する際には、MyBatisを採用することが多いですね。
ただ、MyBatisの初期設定では、クエリの実行内容や実行結果が確認できず、正しい結果が得られているかすぐには分かりません。
そのため本記事では、クエリの実行結果をコンソールログとして出力する方法をご紹介します。
方法
ディレクトリ構成
ディレクトリ構成は以下の通りとします。
src/
├─ main/
│ ├─ java/
│ │ ├─ com/
│ │ │ ├─ example/
│ │ │ │ ├─ mapper/
│ │ │ │ │ ├─ HogeDao.java
│ │ │ │ │ ├─ HogeDao.xml
│ ├─ resources/
│ │ ├─ application.yml
設定内容
対象となる@Mapper
インターフェイスが格納されているディレクトリに対して、ロギングレベルを設定します。
今回の例であれば、com.example.mapper下のファイルをログ出力対象とします。
application.ymlに以下のように記述することで、クエリ実行ログ(SQLステートメント)がコンソールに出力されるようになります。
logging:
level:
com.example.mapper: DEBUG
ちなみにapplication.ymlではなく、application.propertiesを利用している場合は、以下のように設定してください。
logging.level.com.example.mapper=DEBUG
また、DEBUG
の代わりにTRACE
を設定すると、クエリの実行結果をコンソールに出力することが可能になります。
おわりに
数行で設定できるので、ぜひMyBatisを利用する際は設定してみてください!
Gakken LEAP では教育をアップデートしていきたいエンジニアを絶賛大募集しています!!