使用native 查询时,对特殊字符的处理。

来源:互联网 发布:php datetime 时区 编辑:程序博客网 时间:2024/05/20 18:03

解决方法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:待续,原因未验证。

原创粉丝点击