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>

去掉单引号即可

相关推荐
啊吧怪不啊吧1 分钟前
极致性能的服务器Redis之Hash类型及相关指令介绍
大数据·数据库·redis·sql·mybatis·哈希算法
u0104058361 分钟前
企业微信审批事件回调的安全验证与Java HMAC-SHA256校验实现
java·安全·企业微信
牧小七2 分钟前
java8的新特性
java
Jing_jing_X3 分钟前
AI分析不同阶层思维 十:MQ从概念、底层原理到选型
java·架构·提升·薪资
gis分享者6 分钟前
什么是 Java 中的原子性、可见性和有序性?
java·面试·热门·原子性·可见性·有序性·2026
TangKenny10 分钟前
jar 命令详解
java·pycharm·jar
Solar202511 分钟前
机械制造企业数据采集系统选型指南:从技术挑战到架构实践
java·大数据·服务器·架构·云计算
牧小七11 分钟前
Java反射学习指南
java
Mr1ght14 分钟前
高并发场景下 JSQLParser 性能瓶颈及替代方案实践
java·数据库·sql
不想写bug呀15 分钟前
Redis持久化:RDB与AOF
java·数据库·redis