大まかな流れとしては、
- サーブレットで各マルチセレクト条件値CSVテキストをリクエストパラメータで受信
- サーブレットで、1.がnullであるか判別してフラグにして、操作用クラスにセットする
- マルチセレクト条件値CSVテキストは、リストにして操作用クラスにセットする
- 操作用クラスの検索処理メソッドで、最初にセットされた項目別フラグがtrueの場合、一時テーブルの削除追加を行う
- MyBatisの指定idの検索SQLを実行する際に、フラグがtrueの場合、一時テーブルをジョインしたSQL、falseの場合ジョインしないSQLを実行
となります。