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

mybatis与concat实现模糊查询、mybatis中模糊查询concat传入参数为空时的解决方法

文章目录


在mybatis中,一般模糊查询like习惯用concat进行拼接,但是当传入的参数为空时,查询不出数据。

那是因为concat中,若传入参数为null, 则返回null。
在这里插入图片描述

以下整理mybatis中like模糊查询的写法

<select id="findByKeyword" resultMap="BaseResultMap">
    select * from user
    <where>
	    1=1
	    <if test="keyword!=null and keyword!=''">
	        AND user_name like CONCAT('%',#{keyword},'%')
	    </if>
    </where>
</select>

因为keyword可能为null, 所以先在外层对keyword参数进行判空处理。

或者通过ifnull函数对参数进行一下判断,若传入参数为null,则转换为空字符串

<select id="findByKeyword" resultMap="BaseResultMap">
    select * from user
    where  user_name like CONCAT('%',ifnull(#{keyword},''),'%')
</select>

http://www.kler.cn/news/303468.html

相关文章:

  • nacos安装使用调优及面试题分享
  • Apple发布会都有哪些亮点?如何在苹果手机和电脑上录制屏幕?
  • MATLAB默认工作路径修改
  • 串口通信数据包介绍和包结构定义实例
  • 【Echarts】vue3打开echarts的正确方式
  • real, dimension(3) :: rho1 和 real :: rho1(3) 的区别
  • C++学习笔记----7、使用类与对象获得高性能(一)---- 书写类(1)
  • element表格合并列数据相同合并单元格
  • 【Flutter 面试题】 无需上下文进行路由跳转原理是怎么样的
  • Python用MarkovRNN马尔可夫递归神经网络建模序列数据t-SNE可视化研究
  • 医疗报销|基于springboot的医疗报销系统设计与实现(附项目源码+论文+数据库)
  • RocketMQ 集群搭建详细指南
  • F12抓包10:UI自动化 - Elements(元素)定位页面元素
  • 【devops】devops-git之git分支与标签使用
  • Kubernetes 容器与镜像管理
  • 五、Django 路由配置
  • 如何编写ChatGPT提示词
  • LabVIEW中EPICS客户端/服务端的测试
  • 数据库系统概论(3,4)
  • 【网络安全】漏洞挖掘之会话管理缺陷
  • Layout 布局组件快速搭建
  • 如何建设数据中台(五)——数据汇集—打破企业数据孤岛
  • Android 12.0 Launcher修改density禁止布局改变功能实现
  • 【C++题解】1398. 奇偶统计
  • Apple Watch Series 10 鈦強勁
  • Swift语言基础教程、Swift练手小项目、Swift知识点实例化学习
  • IT从业者如何提升自身竞争力,应对全球化挑战。
  • Django笔记一:搭建Django环境与URL路径访问
  • 数据结构-线性表顺序单项链表双向链表循环链表
  • B端界面看国外,清新活泼又可爱。