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>

去掉单引号即可

相关推荐
愤怒的代码2 分钟前
从开发调试到生产上线:全维度 Android 内存监控与分析体系构建
android·java·kotlin
悟能不能悟9 分钟前
java HttpServletRequest 设置header
java·开发语言
悟空码字15 分钟前
SpringBoot整合FFmpeg,打造你的专属视频处理工厂
java·spring boot·后端
独自归家的兔17 分钟前
Spring Boot 版本怎么选?2/3/4 深度对比 + 迁移避坑指南(含 Java 8→21 适配要点)
java·spring boot·后端
郝学胜-神的一滴26 分钟前
线程同步:并行世界的秩序守护者
java·linux·开发语言·c++·程序人生
掉鱼的猫1 小时前
灵动如画 —— 初识 Solon Graph Fluent API 编排
java·openai·workflow
周杰伦fans1 小时前
AndroidStudioJava国内镜像地址gradle
android·java·android-studio
艾莉丝努力练剑1 小时前
【Linux进程控制(一)】进程创建是呼吸,进程终止是死亡,进程等待是重生:进程控制三部曲
android·java·linux·运维·服务器·人工智能·安全
天天摸鱼的java工程师1 小时前
RocketMQ 与 Kafka 对比:消息队列选型的核心考量因素
java·后端