Java で文字列 SQL クエリを使用していますが、条件付きで AND 句を無視または追加する必要があります。たとえば、以下のクエリを想定します。
select t.name from test t where
t.id=?
and
t.name=?
and
t.status=?
そのため、名前が空または null の場合は無視し、カウント ステータスが合計の場合は、条件 t.status= 'cancel' および t.status = 'confirm' の下で実行する必要があります。以下の疑似クエリのようですが、通常の文字列SQLではなく、ストアドプロシージャでのみ条件を使用できると思いますか?
select t.name from test t where
t.id=?
and
if(t.name != null){
t.name=?
}
and
if(t.status.equals = 'total'){
t.status='total'
}else{
t.status = ?
}