1."%"#{xxx}"%"
oper_time like "%"#{operTime}"%"
经过编译后最终sql形式为
oper_time like "%"'2020-03-12'"%"
推荐
注意:编译过后会自动加上单引号,"%"一定要使用双引号不能使用单引号
2.concat('%',#{xxx},'%')
oper_time like concat('%',DATE_FORMAT(CURDATE(), '%Y-%m-%d'),'%');
经过编译后最终sql形式为
oper_time like concat('%','2020-03-12','%')
注意:*这种方式有时候会报错*
3.Mybatis bind 标签
...
<bind name="operTime" value="'%' + operTime + '%'" />
...
oper_time like #{operTime}
...
经过编译后最终sql形式为
oper_time like '%2020-03-12%'
推荐
4.传参前拼接"%"
String operTime = "%" + operTime + "%";
...
一般不会用这种方式。。。
5.'%${xxx}%'
oper_time like '%${operTime}%'
经过编译后最终sql形式为
oper_time like '%2020-03-12%'
注意:不推荐这种写法,sql注入大家懂的
通过众多踩坑经历,宗介以上基本常用的几种方式,推荐使用1、3