当前位置: 首页 > news >正文

Mybatis模糊查询

<select id="selectAllByNameAList" resultType="a">
    select * from a where name like '%${name}%';
</select>

但是有sql注入风险

下面是写法是错误的   #{xxx}会直接以字符串拼接  

实际sql就是select * from a where name like '%#{name}%'

<select id="selectAllByNameAList" resultType="a">
    select * from a where name like '%#{name}%';
</select>

用CONCAT函数

SELECT * FROM a WHERE name LIKE CONCAT('%', #{name}, '%')
 

  • #{} 是参数绑定,不是字符串替换;

  • 写在 '%#{name}%' 中,MyBatis 根本不解析

  • JDBC 实际拿到的 SQL 是没有问号 ? 的,所以你传了参数,它不知道往哪塞;

  • 所以报错:“没有参数位置,却传了参数”

http://www.dtcms.com/a/110213.html

相关文章:

  • 【C语言】字符串处理指南
  • 容器的CPU
  • T n、const T n、T const n
  • 1. hadoop 集群的常用命令
  • 工商业储能要关注的核心能力与未来发展方向
  • CMDB平台(进阶篇):3D机房大屏全景解析
  • CentOS7 安装 LLaMA-Factory
  • Spring Boot 定时任务的多种实现方式
  • SQLark:一款国产免费数据库开发和管理工具
  • SpringCloud快速认识
  • 进行性核上性麻痹护理指南,助患者安稳生活
  • 中国工厂出海新机遇:壹起航助力企业高效获客与品牌全球化
  • TypeScript 装饰器类型详解
  • Vulkan进阶系列1 - Vulkan应用程序结构(完整代码)
  • 使用PyTorch实现ResNet:从残差块到完整模型训练
  • Java项目之基于ssm的酒店客房管理系统(源码+文档)
  • AI 数字短视频数字人源码开发:开启虚拟内容创作新纪元​
  • 【UE5 C++课程系列笔记】33——商业化Json读写
  • 【2025年最新!软考中级】软件设计师考证知识点总结,串讲及真题合集
  • DeepSeek与ChatGPT的优势对比:选择合适的工具来提升工作效率
  • 为什么函数对象作为函数参数时,一般使用值类型形式?-番外篇
  • 企业数据危机频发,该如何提前预防数据泄露发生?
  • Java 集合 Map Stream流
  • [Linux]从零开始的vs code交叉调试arm Linux程序教程
  • 蛋白设计 ProteinMPNN
  • 【Json-Rpc #3】项目设计
  • OpenCV 图形API(16)将极坐标(magnitude 和 angle)转换为笛卡尔坐标(x 和 y)函数polarToCart()
  • XT-912在热交换站的应用
  • 8.6考研408内部排序算法比较与应用知识点深度解析
  • BEV感知中如何使用相机内外参?