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>

去掉单引号即可

相关推荐
想个名字太难1 分钟前
springboot 源码分析(自动装配原理)
java·spring boot·spring
2501_946233893 分钟前
Flutter与OpenHarmony帖子详情页面开发
android·java·flutter
华仔啊4 分钟前
如何查看 SpringBoot 当前线程数?3 种方法亲测有效
java·后端
weixin_425023004 分钟前
Spring Boot 生成短链接
java·spring boot·后端
毕设源码-钟学长8 分钟前
【开题答辩全过程】以 小区物业管理APP为例,包含答辩的问题和答案
java·spring boot
这周也會开心9 分钟前
Java面试题-JVM
java·开发语言·jvm
while(1){yan}9 分钟前
Spring,SpringBoot,SpringMVC
java·spring boot·spring
秋饼12 分钟前
【spring-framework 本地下载部署,以及环境搭建】
java·后端·spring
刘宇涵4917 分钟前
根节点Java
java
zwjapple19 分钟前
React + Java 技术面试完整指南
java·开发语言·jvm·react