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>

去掉单引号即可

相关推荐
贾斯汀玛尔斯16 小时前
每天学一个算法--LSM-Tree(Log-Structured Merge Tree)
java·算法·lsm-tree
bitt TRES16 小时前
springboot与springcloud对应版本
java·spring boot·spring cloud
Y0011123617 小时前
JavaWeb-end
java·servlet·web
bzmK1DTbd17 小时前
Git版本控制:Java项目中的分支管理与合并策略
java·开发语言·git
JWASX19 小时前
【RocketMQ 生产者和消费者】- 事务源码分析(1)
java·rocketmq·java-rocketmq
AlunYegeer20 小时前
JAVA,以后端的视角理解前端。在全栈的路上迈出第一步。
java·开发语言·前端
敖正炀21 小时前
MyBatis 性能调优:批处理、流式查询与 SQL 优化
mybatis
敖正炀21 小时前
初始化流程的完整串联:从 XML 到 SqlSessionFactory
mybatis
DFT计算杂谈21 小时前
自动化脚本一键绘制三元化合物相图
java·运维·服务器·开发语言·前端·python·自动化
2301_7717172121 小时前
Spring Boot 自动配置核心注解
java·spring boot·mybatis