springとmybatisを使用してDBから情報を取得しています。
javaでオブジェクトを渡してSQLのwhere区に代入しています。
オブジェクト内ではフラグをいくつか管理しています。
xml
1<where> 2( 3 <if test="Flags.aaaFlg == true"> 4 OR TABLE1.AAA_FLG = 'true' 5 </if> 6 <if test="Flags.bbbFlg == true"> 7 OR TABLE1.BBB_FLG = 'true' 8 </if> 9 <if test="Flags.cccFlg == true"> 10 OR TABLE1.CCC_FLG = 'true' 11 </if> 12) 13AND TABLE1.DELETE_FLG = 'false' 14AND TABLE1.ID = TABLE2.ID 15</where>
whereタグを使用することで先頭のORは通常消えますが、このケースだと()を使用しているので消えてくれません。
どうすれば()使用時にうまいこと先頭のORを消すことができますでしょうか。
よろしくお願いします。

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/09/28 09:46