当我们使用如下的参数来进行模糊查询时
若参数名为name,当我们要实现如下SQL语句:
select * from user where uname like ‘%name的值%’
方式一:使用MySQL中的concat字符串拼接函数,写法如下
select * from user where uname like concat(concat(’%’,#{name}),’%’)
方式二:使用${}替代#{}的方式
当采用
方
式
时
,
当
用
上
参
数
名
n
a
m
e
s
e
l
e
c
t
∗
f
r
o
m
u
s
e
r
w
h
e
r
e
u
n
a
m
e
l
i
k
e
′
{}方式时,当用上参数名name select * from user where uname like '%
方式时,当用上参数名nameselect∗fromuserwhereunamelike′{_name}%’
会产生如下错误:
There is no getter for property named … in ‘class java.lang.String’
可以采用的一个解决方式如下
select * from user where uname like ‘%${_parameter}%’