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>

去掉单引号即可

相关推荐
Cosolar1 分钟前
Java 后端访问 https接口报 SSLHandshakeException 你遇到过吗
java·后端·面试
组合缺一2 分钟前
带来 AI Agent 开发,OpenSolon v3.8.3 发布
java·人工智能·ai·langchain·llm·solon
ghostmen2 分钟前
SpringBoot + Vue 实现 Python 在线调试器 - 技术方案文档
java·python·vue·springboot
阿蒙Amon4 分钟前
C#每日面试题-简述匿名方法
java·面试·c#
山峰哥8 分钟前
JOIN - 多表关联的魔法——3000字实战指南
java·大数据·开发语言·数据库·sql·编辑器
jghhh019 分钟前
C#中实现不同进程(EXE)间通信的方案
java·单例模式·c#
Mr.朱鹏10 分钟前
Spring Boot 配置文件加载顺序与优先级详解
java·spring boot·后端·spring·maven·配置文件·yml
m0_5791466510 分钟前
Maven 编译的settings配置和pom、idea配置关系
java·maven·intellij-idea
洛阳泰山14 分钟前
一个人,一个项目,一年的坚持:关于我的 2025年 技术突围之路
java·人工智能·spring boot
虫小宝18 分钟前
企业微信API接口的Java SDK封装:可复用、可测试的工具类设计方法
java·开发语言·企业微信