多条件検索機能のsql文スペルテクニック
最初はどのようにして、まずテストコードを来て、効果を見てみましょう:複数のクエリー条件に基づいて検索機能を完了すると、sql文のスペルを行い、ある検索条件が空の場合、この条件を考慮しないことを示します.各検索条件をandで接続すると、sql文がwhere and列名like'......の場合が発生しやすくなります.これによりsql文の構文エラーが発生し,このような場合を避けるためにwhereの後に条件1=1を加えて他の検索条件を追加するのが一般的である.次のようになります.
菜鳥テスト、不適切があれば、よろしくお願いします!
private String getSql(UserInfoBean bean){
String sql = "SELECT * FROM T_USERINFO T where 1=1";
if(!"".equals(bean.getUserName()) && null != bean.getUserName()){
sql += " and userName LIKE upper('%"+bean.getUserName()+"%')";
}
if(!"".equals(bean.getPhonenumber()) && null != bean.getPhonenumber()){
sql += " AND PHONENUMBER LIKE '%"+bean.getPhonenumber()+"%'";
}
if(null != bean.getId() && bean.getId().length()>0)
sql += " AND ID = '"+bean.getId()+"'";
return sql;
}
菜鳥テスト、不適切があれば、よろしくお願いします!