项目场景

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&gt;
            </where&gt;
                 order by create_time desc
    </select&gt;

xml文件出错

原因分析

当name输入中文字符串时,例如 “标准” 二字会导致mybatis无法自动注入name

解决方案

xml文件中的sql语句修改

 <select id="page" resultType="com.sky.entity.Employee"&gt;
        select * from employee
            <where&gt;
                <if test="name != null and name !=''"&gt;
                    and name like concat('%',#{name},'%')
                </if&gt;
            </where>
                 order by create_time desc
    </select>

去掉引号即可

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注