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

【mysql】Mybatisplus BINARY {0} LIKE CONCAT(‘%‘, {1}, ‘%‘)写这句话是什么意思

这是一个MyBatis-Plus中用于实现区分大小写的模糊查询的SQL片段。让我详细解释:

语法解析

BINARY {0} LIKE CONCAT('%', {1}, '%')
  • BINARY:MySQL关键字,强制进行二进制比较,即区分大小写

  • {0}:字段名的占位符

  • {1}:查询值的占位符

  • CONCAT('%', {1}, '%'):拼接成前后模糊匹配的模式

实际使用场景

1. 在XML映射文件中

<select id="selectByKeyword" resultType="YourEntity">SELECT * FROM table_name WHERE BINARY #{column} LIKE CONCAT('%', #{keyword}, '%')
</select>

2. 在MyBatis-Plus条件构造器中

// 使用自定义SQL条件
QueryWrapper<YourEntity> wrapper = new QueryWrapper<>();
wrapper.apply("BINARY column_name LIKE CONCAT('%', {0}, '%')", keyword);// 或者使用Lambda表达式
LambdaQueryWrapper<YourEntity> lambdaWrapper = new LambdaQueryWrapper<>();
lambdaWrapper.apply("BINARY column_name LIKE CONCAT('%', {0}, '%')", keyword);

与普通LIKE的区别

类型SQL示例是否区分大小写
普通LIKEname LIKE '%admin%'❌ 不区分
BINARY LIKEBINARY name LIKE '%admin%'✅ 区分

示例效果:

  • 数据:"Admin", "admin", "ADMIN"

  • BINARY name LIKE '%admin%' → 只匹配 "admin"

  • name LIKE '%admin%' → 匹配所有三条记录

适用场景

  1. 用户名/邮箱查询:需要精确匹配大小写

  2. 验证码查询:验证码通常区分大小写

  3. 特定编码查询:如产品编码、订单号等

注意事项

  • MySQL特有BINARY关键字是MySQL特有的语法

  • 性能考虑:BINARY查询可能无法使用普通索引,需要考虑性能影响

  • 跨数据库兼容:如需支持多种数据库,建议使用其他方式实现大小写敏感查询

这种写法在需要精确大小写匹配的模糊查询场景中非常有用。

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

相关文章:

  • 开发避坑指南(59):Vue3中高效删除数组元素的方法
  • wordpress建站要用模板吗wordpress搜索筛选
  • 安卓 WPS Office v18.21.0 国际版
  • 衡阳网站推广优化公司行业网站开发运营方案
  • 临海房产中介网站如何制作网站平台管理
  • 做网站多少人建e室内设计网官网平面图
  • git mere 错误后的回滚处理
  • Java开发入门(一)--- JDK与环境变量配置
  • 最好的营销型网站建设公司报电子商务(网站建设与运营)
  • 从0到1制作一个go语言游戏服务器(二)web服务搭建
  • 网站使用流程图昆明网站建设天锐科技
  • (uniapp)基于vue3父子组件间传递参数与方法
  • 铁岭开原网站建设高中课程免费教学网站
  • 高校网站群建设方案网站建设目录结构设计
  • 静态网站源码野花韩国视频在线观看免费高清
  • Windows下NVM保姆级指南:安装、切换版本、指定路径+淘宝镜像配置,一次搞定!
  • 杭州营销型网站建设杭州租车网站建设
  • 网站开发基础知识网站开发怎么连接sqlserver
  • 基于AC6366C做AI语音鼠标
  • 刘诗雯现身TCL品牌活动,雷鸟34Q9显示器同台竞技
  • 东莞百域网站建设公司手机网站开发屏幕尺寸一般是多少
  • 理财经理如何提高职场技能实现晋升
  • 【碎片化学习】SpringBoot中的自动配置(Auto Configuration)
  • PC16550 FIFO接收方式研究
  • 做基金的网站哪个好用什么程序做资讯类网站
  • 图书馆网站建设申请国外做仿牌网站
  • make, makefile, cmake, qmake 有何区别?
  • vite如何处理项目中的资源
  • 文网文网站建设wordpress只显示首页
  • sk07.【scikit-learn基础】--『监督学习』之支持向量机