select
id,role_name,auther,create_time,update_time,remark
from sys_role
<where>
<if test="roleName != null and roleName != ''">
and role_name like CONCAT('%', #{roleName}, '%')
</if>
</where>
ORDER BY id DESC
<if test="skip != null ">
LIMIT #{skip}, #{limit}
</if>
模糊查询避免特殊字符不生效:
public static String fieldLike(String field){
if (StringUtils.isNoneBlank(field)){
return field.replace("/","//")
.replace("]","/]")
.replace("%","/%")
.replace("_","/_")
.replace("\\","/\\")
.replace("*","/*")
.replace("[","/[")
.replace("^","/^");
}
return field;
}
select
id,role_name,auther,create_time,update_time,remark
from sys_role
<where>
<if test="roleName != null and roleName != ''">
and role_name like CONCAT('%', #{roleName}, '%') ESCAPE `/`
</if>
</where>
ORDER BY id DESC
<if test="skip != null ">
LIMIT #{skip}, #{limit}
</if>