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>

去掉单引号即可

相关推荐
Louis Maos1 小时前
堆与栈分配的本质区别
java·开发语言
人道领域1 小时前
【零基础学java】(HashMap源码解析--添加第一个元素)
java·哈希算法·散列表
毕设源码-朱学姐2 小时前
【开题答辩全过程】以 果蔬禽蛋生鲜食品采购配送系统的设计与实现为例,包含答辩的问题和答案
java·开发语言
zfj3212 小时前
java线程的不同状态下调用interrupt()方法后的行为及注意事项
java·开发语言·interrupt·线程中断·线程状态
廋到被风吹走2 小时前
【Java】【Jdk】Jdk17->Jdk21
java·开发语言
叁散3 小时前
实验一:船舶位置感知与MMSI数据分析
java
研☆香4 小时前
什么是对象 什么是数组 区别是什么??
java·前端·javascript
利刃大大4 小时前
【SpringBoot】搭建Java部署环境 && 部署项目到Linux服务器
java·服务器·spring boot
zhaokuner4 小时前
04-实体与标识-DDD领域驱动设计
java·开发语言·设计模式·架构