完全一致と前方一致の両立させるにはどうしたらいいのでしょうか?
データベースから一致したデータを出力したいのですが
例えば
seikana / meikana
ヘノ / タロウ
ヘノダ / タロウ
ヘノダモヘジ / タロウ
トウキョウ / タロウ
というデータがあります。
現在だと
BeanにseiKana,meiKanaというフィールド用意
テキストボックスに入力し格納します。
そしてこれが実行される
Service.java
Service.java
1if(bean.seiKana.equals("")) 2 { 3 bean.seiKana = "%"; 4 }else 5 { 6 bean.seiKana = bean.getSeiKana() + "%"; 7 } 8if(bean.meiKana.equals("")) 9 { 10 bean.meiKana = "%"; 11 }else 12 { 13 bean.meiKana = bean.getMeiKana() + "%"; 14 }
テキストボックスseiKanaが空文字
テキストボックスmeiKanaがタロウ の場合
ヘノ タロウ
ヘノダ タロウ
ヘノダモヘジ タロウ
トウキョウ タロウ が出力
テキストボックスseiKanaが”ヘ”
テキストボックスmeiKanaがタロウ の場合”ヘ”の前方一致で
ヘノ タロウ
ヘノダ タロウ
ヘノダモヘジ タロウ が出力 //トウキョウ タロウは消える
ここでテキストボックスseikanaが”ヘノ”
テキストボックスmeiKanaがタロウ の場合
今の状態だと”ヘノ”に対して前方一致の処理がはいるため
ヘノ タロウ
ヘノダ タロウ
ヘノダモヘジ タロウ
が出力されるのですが、
ヘノ タロウ だけ出力したい
完全一致するデータがあれば前方一致の処理にはいかずそこで処理終了
としたいのです。
こうなるのかな?
Service.java
Service.java
1if(bean.seiKana.equals("")) 2 { 3 bean.seiKana = "%"; 4 } else if(bean.seiKana.equalse(bean.seiKana)) 5 { 6 bean.seiKana = bean.getSeiKana(); 7 } else 8 { 9 bean.seiKana = bean.getSeiKana() + "%"; 10 }
回答1件
あなたの回答
tips
プレビュー