当后台接收前台传过来的模糊查询字符串时,需要进行判断和转义,否则查询结果可能不是预期的
⑴ 判断查询字符串是否为null或空串
// null值没有get方法,MyBatis会报错
if (null == queryText || "".equals(queryText)) {
queryText = "";
}
⑵ 判断是否包含%
if (queryText.contains("%")) {
queryText.replaceAll("%", "\\\\%");
}
⑶ 判断是否包含_
if (queryText.contains("_")) {
queryText.replaceAll("_", "\\\\_");
}
⑷ 判断是否包含\
if (queryText.contains("\\\\")) {
queryText.replaceAll("\\\\", "\\\\\\\\");
}
⑸ 判断是否包含’
if (queryText.contains("'")) {
queryText.replaceAll("'", "\\\\'");
}