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>

去掉单引号即可

相关推荐
空中海12 小时前
第一篇:入门篇 — 认识 Spring Boot 与基础开发
java·spring boot·后端
RainCity12 小时前
Java Swing 自定义组件库分享(三)
java·笔记
凤凰院凶涛QAQ12 小时前
《C++转java快速入手系列》类与对象篇
java·开发语言·c++
Devin~Y12 小时前
大厂Java面试实录:Spring Boot/Cloud + Redis/Kafka + JWT + RAG/Agent(小Y翻车版)
java·spring boot·redis·spring cloud·kafka·spring security·jwt
Bat U12 小时前
JavaEE|多线程(六)
java·java-ee
胡利光12 小时前
Context Engineering 实战 02|System Prompt 是架构决策,不是写说明书
java·架构·prompt
sinat_2554878112 小时前
数组·学习笔记
java·javascript·笔记
江离w12 小时前
codex等vibe coding初始化后端项目指令
java
Paxon Zhang12 小时前
JavaEE 初阶大师之路之*线程,多线程编程,Thread类,变量捕获,中断线程* 一文全部搞懂!!
java·java-ee
逻辑驱动的ken12 小时前
Java高频面试考点场景题16
java·开发语言·面试·职场和发展·求职招聘