Mybatis实现模糊查询(2020.11.5)
我知道sql语句是下面的写法
SELECT `id`,`name`
FROM `client`
where `name` LIKE '%赵%';
一开始我在Mybatis.xml中写的查询语句是这样的
下面是查询客户表中含有赵字的客户的语句
SELECT `id`,`name`
FROM `client`
<where>
<if test="name != null and name != ''">
`name` LIKE '%'#{name}'%';
</if>
</where>
但是这样查询不出来
就在网上搜索,说是要用concat函数,用来把%和搜索的关键字连接起来
于是就把查询语句换成下面的写法,查询的结果就正确了
SELECT `id`,`name`
FROM `client`
<where>
<if test="name != null and name != ''">
`name` LIKE CONCAT('%',#{name},'%')
</if>
</where>