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

DBAPI的SQL实现模糊查询的3种方案

DBAPI的SQL实现模糊查询的3种方案

LIKE 查询

SQL 中的 LIKE 查询可以实现模糊查询,比如查询名字中包含“张”的记录。

select * from student where name like '%张%'

在 API 中获取参数 name,并将其传入 SQL 语句中,有以下 3 种方法。

方案一:使用原生 SQL 字符串拼接

MySQL

select * from student where name like CONCAT('%', #{name}, '%')

这里使用了 MySQL 的 CONCAT 函数,将百分号 % 与参数 name 进行拼接,实现模糊查询。

Oracle

select * from student where name like '%' || #{name} || '%'

在 Oracle 中,使用双竖线 || 进行字符串拼接。

PostgreSQL

select * from student where name like '%' || #{name} || '%'

PostgreSQL 中也可以使用双竖线 || 进行字符串拼接。

SQL Server

select * from student where name like '%' + #{name} + '%'

在 SQL Server 中,使用加号 + 进行字符串拼接。

方案二:使用动态 SQL 的 bind 标签

DBAPI支持类似mybatis的动态SQL标签语法,通过 bind 标签,将参数 name 拼接模糊查询的通配符%,并生成新的变量 pattern

完整SQL示例如下:

<bind name="pattern" value="'%' + name + '%'" />
select * from student where name like #{pattern}

方案三:使用参数处理插件

  1. 访问插件市场,下载字符串拼接插件,上传到 DBAPI 的 extlib 目录或者 lib 目录下,重启 DBAPI 服务。

  1. 全局插件-参数处理 中选择 字符串拼接插件

    插件参数填写 {"fields":["name"]}

    使用此插件后,系统会自动给 name 参数值的首尾拼接上%字符。

  1. SQL 中的like查询可以直接使用参数 #{name},不用拼接通配符。
select * from student where name like #{name}

http://www.lryc.cn/news/603030.html

相关文章:

  • git相关操作记录
  • C++初学者4——标准数据类型
  • Day 24:元组与os模块
  • STM32F4—电源管理器
  • 新华三H3CNE网络工程师认证—Telnet
  • 在 CentOS 中安装 MySQL 的过程与问题解决方案
  • 每日面试题16:什么是双亲委派模型
  • LINUX 728 SHELL:grep;sort;diff
  • mp核心功能
  • CDN架构全景图
  • 【JavaScript】箭头函数和普通函数的区别
  • 【AI论文】MegaScience:推动科学推理后训练数据集的前沿发展
  • Node.js + TypeScript 开发健壮的淘宝商品 API SDK
  • Flutter实现Android原生相机拍照
  • 项目任务如何分配?核心原则
  • MongoDB的内存和核心数对于运行效率的影响
  • Python动态规划:从基础到高阶优化的全面指南(2)
  • 商用车的自动驾驶应用场景主要包括七大领域
  • 代码随想录算法训练营第三十三天
  • C++模板进阶:从基础到实战的深度探索
  • 网易易盾、腾讯ACE等主流10款游戏反外挂系统对比
  • 7寸工业模组 XA070Y2-L01芯显科技详细参数资料
  • 图——邻接表基本操作算法实现
  • USRP X410 X440 5G及未来通信技术的非地面网络(NTN)
  • 代码解读:微调Qwen2.5-Omni 实战
  • 《Go Web编程实战派--从入门到精通》的随笔笔记
  • LLM Landscape:2025年大语言模型概览
  • 数据处理工具是做什么的?常见数据处理方法介绍
  • ethers.js基础(学习路线清单)
  • 正向代理和反向代理的理解