做系统时会做到查询搜索功能。下面有些问题需要注意:
一:在sql中,每设置一个参数占位符'?',后边要紧跟参数赋值。防止参数和赋值不一一匹配。
二:模糊搜索时,如果输入%会出现全查问题,需对%进行转义。
解决参考案例:
List<Object> sqlParams = new ArrayList<Object>();
StringBuffer sql = new StringBuffer(); **略** if(checkKey.getNameKey()!=null && "" != checkKey.getNameKey()){ sql.append("and name like '%?%' "); sqlParams.add(vo.getNameKey().trim().replace("%", "\%")); }