针对oracle数据库:
1、将查询条件通过功能类处理
/**
* Description: 处理转义字符%和_,针对ORACLE数据库
*
* @param str
* @return
*/
public static String escapeStr(String str) {
String temp = "";
for (int i = 0; i < str.length(); i++) {
if (str.charAt(i) == '%' || str.charAt(i) == '_') {
temp += "\\" + str.charAt(i);
} else {
temp += str.charAt(i);
}
}
return temp;
}
2、后台Contronller获得查询条件,并调用工具类处理
String areaname = request.getParameter("Areaname");
if (areaname != null) {
if ("".equals(areaname)) {
areaname = null;
} else {
areaname = StringUtils.escapeStr(areaname);
}
}
3、mapper.xml中对应的使用方法:
<if test="param.areaname!=null"> and areaname like '%'||#{param.areaname}||'%' escape '\'</if>