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>

去掉单引号即可

相关推荐
wand codemonkey12 小时前
【第五步+前后分离调】最后的联动调试--java+Vue3项目
java·开发语言·vue.js
JunLa12 小时前
L angGraph vs 链式调用
java·网络·数据库
晚风烟火13 小时前
从“落地实践”和“应试通关”两个维度,拆解每一章到底要掌握什么
java
ps酷教程13 小时前
jackson学习
java·学习
行走的蜗牛13 小时前
一文搞懂 Spring AI 核心接口,轻松对接所有大模型
java
倒流时光三十年13 小时前
PostgreSQL 中的 NULL 陷阱:从一次排除过滤说起
java·数据库·postgresql
代码改善世界13 小时前
【C++进阶】二叉搜索树
java·数据结构·c++
学习3人组13 小时前
业务主表+JSON自定义字段
java·spring boot·json
雨落在了我的手上14 小时前
初识java(六):方法的使用
java·开发语言
张敬之、14 小时前
sa-token
java