mybatis中使用like模糊查询的写法记录

mybatis中使用like模糊查询

失败方法:

b.title like "%"#{title}"%"

报错消息说:sql injection violation, syntax error: syntax error, error in :'e "%"?"%") tmp_count'

官方有一种写法如下:

<select id="selectBlogsLike" resultType="Blog">
  <bind name="pattern" value="'%' + _parameter.getTitle() + '%'" />
  SELECT * FROM BLOG
  WHERE title LIKE #{pattern}
</select>

本来以为要通过get方法来获取两个+中间的参数,写成了如下,报错:

 <bind name="title" value="'%' + blog.getTitle() + '%'"/>

报错信息说找不到blog

熟悉的错误,然后改成了如下:

<bind name="title" value="'%' + title + '%'"/>

成功。

posted @ 2020-10-20 00:18  xsyz  阅读(339)  评论(0编辑  收藏  举报