解决方法1:在sql中进行处理。注意,是对输入对象的每个参数做这样的处理,不是统一处理。统一处理,会出错的。
String sql= sql.replace("%", "\"%").replace("_", "\"_").replace("[", "\"[").replace("]", "\"]").replace("^", "\"^").replace("'","''");
解决方法2:在输入对象中进行处理。(推荐)
paramConverter(){
public void convert(Params params){
if(StringUtil.isNotEmpty(params.getUserId())){
params.setUserId(params.getUserId().replace("%", "\"%").replace("_", "\"_").replace("[", "\"[").replace("]", "\"]").replace("^", "\"^").replace("'","''");
}
}
}
解决方法3:待续,原因未验证。