您现在的位置是:主页 > news > 自己建网站免费/南宁网站快速排名提升
自己建网站免费/南宁网站快速排名提升
admin2025/4/24 11:42:16【news】
简介自己建网站免费,南宁网站快速排名提升,周口网站建设网络工作室,学室内设计网站模糊查询的时候使用%表示模糊位置;正常sql没什么问题 但是一设计到字符串拼接就出问题了 <if testcountry!null> AND #{country}%)</if>这里会提示传入了一个参数但是只找到0个占位符,因为‘ ’单引号直接把里面转换成了字符导致无法找到对…
自己建网站免费,南宁网站快速排名提升,周口网站建设网络工作室,学室内设计网站模糊查询的时候使用%表示模糊位置;正常sql没什么问题 但是一设计到字符串拼接就出问题了
<if testcountry!null> AND #{country}%)</if>这里会提示传入了一个参数但是只找到0个占位符,因为‘ ’单引号直接把里面转换成了字符导致无法找到对…
模糊查询的时候使用%表示模糊位置;正常sql没什么问题
但是一设计到字符串拼接就出问题了
<if test='country!=null'> AND '#{country}%')</if>
这里会提示传入了一个参数但是只找到0个占位符,因为‘ ’单引号直接把里面转换成了字符导致无法找到对应的占位符
后来改成了:
<if test='country!=null'> AND #{country}'%')</if>
这样虽然不报错,但是无论如何都搜不出数据来;
也可以使用:
<if test='country!=null'> AND '${country}%')</if>
勉强能用,但是会引发sql注入问题;
最终方案:
concat(str,str,str,......)
<if test='country!=null'> AND concat(#{country},'%')</if>
这样可以把多个字符拼接在一起,所以可以使用#{}占位而不引发sql注入问题;
问题就解决了;这样的方法也可以使用${}需要注意的是单引号要把占位部分也包裹起来;
不推荐:
<if test='country!=null'> AND concat('${country}','%')</if>