mybatis动态SQL - like

用'%${name}%'可以实现模糊查询,但会放开SQL注入漏洞。
<when test="name != null and name!=''">
    AND name like '%${name }%'
</when>

最好的方式,是
Oracle可以用
<when test="name != null and name!=''">
    AND name like '%'||#{name }||'%'
</when>

MySql可以用
<when test="name != null and name!=''">
    AND name like CONCAT('%',#{name},'%')
</when>
posted @ 2015-10-18 22:53  旋转的梦  阅读(1889)  评论(0编辑  收藏  举报