项目场景:
mapper.xml文件中sql语句执行失败,显示输入的参数数量不对
问题描述
<select id="page" resultType="com.sky.entity.Employee">select * from employee<where><if test="name != null and name !=''">and name like concat('%','#{name}','%')</if></where>order by create_time desc</select>
xml文件出错
原因分析:
当name的输入为中文字符串时,例如 “标准" 二字会导致mybatis无法自动注入name
解决方案:
将xml文件中的sql语句修改为
<select id="page" resultType="com.sky.entity.Employee">select * from employee<where><if test="name != null and name !=''">and name like concat('%',#{name},'%')</if></where>order by create_time desc</select>
去掉单引号即可