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>

去掉单引号即可

相关推荐
Mr_pyx13 小时前
RAG知识库从零到一:简单搭建教程(java版)
java·spring·ai·rag
敲代码的瓦龙13 小时前
Android?碎片!!!
java·开发语言·android-studio
月落归舟13 小时前
深入解析Spring依赖注入 DI 的三种方式
java·后端·spring
亚马逊云开发者13 小时前
Lambda 冷启动改善了,你的 Provisioned Concurrency 可能白花钱了
java
C雨后彩虹13 小时前
猴子爬山问题
java·数据结构·算法·华为·面试
Boop_wu13 小时前
[Mybatis] XML 方式实现 MP 自定义 SQL + 条件构造器
xml·sql·mybatis
天真吴邪xie13 小时前
Claude Code安装
java·git
小新同学^O^13 小时前
简单学习 --> Spring统一处理
java·学习·spring·统一功能处理
程序猿乐锅13 小时前
【Tilas|第七篇】学员管理实现
java·笔记·idea·tlias
程序猿乐锅14 小时前
【Tilas|第六篇】班级管理实现
java·笔记·tlias