bug场景记录

项目场景:

mapper.xml文件中sql语句执行失败,显示输入的参数数量不对

问题描述

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语句修改为

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>

去掉单引号即可

相关推荐
C+++Python1 分钟前
C++ 常量全面讲解
java·开发语言·c++
程序员小羊!4 分钟前
17 Maven
java·maven
C+-C资深大佬4 分钟前
C++ 数字与字符串互转
java·c++·算法
陈猪的杰咪6 分钟前
DeepSeek V4 中转方案全解析 | Flash 成本仅为 GPT 的 1/90
java·人工智能·gpt·spring
zlpzlpzyd7 分钟前
spring boot 4.1发布
java·数据库·spring boot
无籽西瓜a8 分钟前
Plan-and-Execute 里的 DAG 是怎么工作的
java·后端·ai·agent·dag
ch.ju8 分钟前
Java Programming Chapter 4——The difference between overloading and overwriting.
java·开发语言
我命由我1234510 分钟前
Android 开发问题:View 的 getWidth、getHeight 方法返回的值都为 0
android·java·java-ee·android studio·android jetpack·android-studio·android runtime
满怀冰雪10 分钟前
第12篇-二分答案法-当答案不好求时如何反向搜索
java·算法
我登哥MVP12 分钟前
SpringCloud 核心组件解析:服务网关
java·spring boot·后端·spring·spring cloud·java-ee·maven