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>

去掉单引号即可

相关推荐
wangbing11258 分钟前
JPA下自定义主键
java·linux·服务器
扎Zn了老Fe29 分钟前
MyBatis-Plus必知必会:告别低效CRUD,高效开发持久层
后端·mybatis
plainGeekDev1 小时前
NullPointerException → Kotlin 空安全
android·java·kotlin
想做小南娘,发现自己是女生喵2 小时前
第 2 章 顺序表和 vector
java·数据结构·算法
CHANG_THE_WORLD3 小时前
6.多线程的TCP通信
java·网络·tcp/ip
sun03224 小时前
【笔记】Spring MVC 相关介绍
java·spring·mvc
兰令水4 小时前
hot100【acm版】【2026.7.18打卡-java版本】
java·开发语言·算法
CoderYanger4 小时前
A.每日一题:3020. 子集中元素的最大数量
java·程序人生·算法·leetcode·面试·职场和发展·学习方法
wear工程师5 小时前
CompletableFuture 的 allOf 到底怎么收结果?面试别只说并行
java·后端
倒流时光三十年5 小时前
Logback 系列(3):三大核心组件 Logger / Appender / Encoder
java·开发语言·logback