Spring Boot DB連携

MongoTemplateを利用して複雑な条件検索を行ってみた

今回は、「MongoTemplate」を使って、柔軟な条件指定によるMongoDBのデータ参照を行ってみたので、そのサンプルプログラムを共有する。

前提条件

下記記事の実装が完了していること。

Spring Boot上でMongoDBをMongoTemplateで操作してみた「MongoTemplate」を利用すると、「MongoRepository」より柔軟な条件指定によるデータ参照/作成/更新/削除を簡単...

完成した画面イメージ

下記サイトの画面の「サンプルプログラムの実行結果」を参照のこと。

SQLログ出力内容をカスタマイズしてみた今回は、SQLログ出力内容をカスタマイズし、SQLの実行時間や呼出メソッドをSQLログに出力してみたので、そのサンプルプログラムを共有す...

サンプルプログラムの作成

作成したサンプルプログラムの構成は以下の通り。
サンプルプログラムの構成
なお、上記の赤枠は、前提条件のプログラムから変更したプログラムである。

サービスクラスの内容は以下の通り。



また、サービスクラスの実装クラスの内容は以下の通りで、getUserDataListメソッド内で、MongoTemplateを利用した条件検索を実施している。



また、コントローラクラスの内容は以下の通り。



さらに、定義ファイルの内容は以下の通りで、MongoDBの接続情報に加え、一覧画面で1ページに表示する行数を記載している。



また、赤枠のHTMLファイルと、メッセージプロパティの内容は以下の通り。



その他のソースコード内容は、以下のサイトを参照のこと。
https://github.com/purin-it/java/tree/master/spring-boot-mongo-template-2/demo

要点まとめ

  • 「MongoTemplate」を使って、柔軟な条件指定によるMongoDBのデータ参照を行うには、Criteriaクラスを利用して検索条件の指定を行う。