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>

去掉单引号即可

相关推荐
zzzgw_2001几秒前
io_uring的机理和跟epoll的对比
java·开发语言
pandarking1 分钟前
[CTF]攻防世界:easy_laravel 学习
java·学习·web安全·laravel·ctf
Han.miracle1 分钟前
数据结构与算法--006 和为s的两个数字(easy)
java·数据结构·算法·和为s的两个数字
AAA简单玩转程序设计5 分钟前
Java集合“坑王”:ArrayList为啥越界还能浪?
java·前端
AAA简单玩转程序设计5 分钟前
别再把Java枚举当“花瓶”!它能办大事
java·前端
Java天梯之路7 分钟前
Spring Boot 启动流程源码解析:从 `main()` 到 Web 服务就绪
java·spring boot·面试
漂亮的小碎步丶7 分钟前
【3】Spring事务管理
java·数据库·spring
WZTTMoon9 分钟前
Spring Boot Swagger3 使用指南
java·spring boot·后端·swagger3
Java天梯之路10 分钟前
Spring Boot 钩子全集实战(一):构造与配置阶段
java·spring boot·面试
TimberWill17 分钟前
Mybatis一、二级缓存解析
mybatis