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>

去掉单引号即可

相关推荐
红尘客栈25 分钟前
K8s-kubeadmin 1.28安装
java·网络·kubernetes
Larry_Yanan17 分钟前
QML学习笔记(三十一)QML的Flow定位器
java·前端·javascript·笔记·qt·学习·ui
灰灰老师18 分钟前
七种排序算法比较与选择[Python ]
java·算法·排序算法
ruleslol41 分钟前
SpringBoot13-小细节
spring boot·mybatis
掘金者阿豪1 小时前
金仓数据库KingbaseES与MyBatis-Plus整合实践:电商系统开发实战
java·后端
消失的旧时光-19431 小时前
人脸跟随 ( Channel 实现(缓存5条数据 + 2度过滤 + 平滑移动))
android·java·开发语言·kotlin
默默coding的程序猿1 小时前
1.单例模式有哪几种常见的实现方式?
java·开发语言·spring boot·spring·单例模式·设计模式·idea
编程岁月2 小时前
java面试-0136-BIO、NIO、AIO区别?
java·面试·nio
春生野草2 小时前
部署项目到Tomcat
java·tomcat
安逸sgr2 小时前
SpringMVC启动流程
java·jvm·spring·spring cloud·eclipse·tomcat·maven