之前看到好多博主写的Mybatis like的查询,并尝试使用(XML文件中),发现有的并没有实现功能。自己实践结果,如有错误请多多指教。
错误写法1:
<if test="projectName != null and projectName != ''">
AND a.project_name LIKE CONCAT(CONCAT('%',#{projectName}),'%' )
</if>
会出现SQL语法错误
错误写法2:
<if test="projectName != null and projectName != ''"> AND a.project_name LIKE '%'#{projectName }'%'
</if>
会出现查出没结果
正确写法:
1.
<if test="projectName != null and projectName != ''">
AND a.project_name LIKE CONCAT('%',#{projectName},'%' )
</if>
2.
<if test="projectName != null and projectName != ''">
AND a.project_name LIKE CONCAT('%','${projectName}','%' )
</if>
或
<if test="projectName != null and projectName != ''">
AND a.project_name LIKE '%${projectName}%'
</if>