mybatis的if判断用法
mybatis的if判断语句其实跟el表达式的if条件判断有些类似。
例如:
1 如果参数为数字类型的时候没有特俗需求的情况只需要判断是否为null即可。
例如:
如果有特俗需求,例如判断是否大于某个数的时候才行。只需要加上对应的条件判断即可
例如:
mybatis对于这种大于小于等等还有另一种形式。
例如:
对应关系:
gt 对应 >gte 对应 >=lt 对应 <(会报错 相关联的 "test" 属性值不能包含 '<' 字符)lte 对应 <=(会报错 相关联的 "test" 属性值不能包含 '<' 字符)
2 如果为字符串类型
2.1 如果不需要过滤空串的情况 仅仅判断null即可
例如:
2.2 如果需要过滤空串,添加空串判断即可 不支持 && 所以这里用 and or || 来做逻辑与或的判断
例如: 或者
2.3 如果判断字符串是否已某个特俗字符开头,结尾等。直接调用String的对应方法即可
例如:
2.4 是否是某个特定字符串,某些业务有此需要。
例如: 或者
注意:
这种形式的写法在参数类型是字符串的时候是没有问题的,
但是参数类型为非字符串类型的时候就需要写成
仅仅写成也会有很大可能会挂。
也许你会说非字符串的为什么要写成这样。这就要看特俗需要了。
例如:某一个sql片段是公用的,
该片段更新条件也用,但是当你需要将某一个字段更新成null的时候怎么办。
这个时候就可以通过传入一个特定的字符串来弄。当传入的字符串为特定字符串的时候就更新该字符串为null。
xxx=null
当然这样子貌似date型会挂。
通过 2.2 也可以看出mybatis对于字符串的相等不相等的判断也是有对应的特俗操作符的。
eq 对应 ==
neq 对应 !=
当然还可以看出来if的条件判断test是支持对象自身方法调用的,即使是自己写的方法,可以自己尝试。当然下面会有例子。
例如:里面可以用‘xxxx’.equals(xxxx) 字符串的比较两个字符串方法
xxxx.indexOf('ss') 判断字符串里面是否包含某个字符等等
3 判断list是否为空
上面说过,if条件判断可以直接调用对象自身的方法进行逻辑判断,所以list判空。可以调用.size()>0或者.isEmpty()
例如: ,
4 map参数同同理 取值的话 map.key(map中的key名字)即可
mybatis的if判断用法相关推荐
- mybatis if条件判断
一.字符串(string)非空判断 <if test="name!=null and name!=''"> AND name = #{name} </if> ...
- mybatis 中 if-test 判断详解
<if test="takeWay == '0'">]mybatis的if判断 单个的字符要写到双引号里面才行,改为<if test='takeWay == &q ...
- html中如何写if判断,HTML中的if判断用法
{% if formname == 'Callrecords'%} Callrecords {% elif formname == 'Riderecords'%} Riderecords {% eli ...
- mybatis第三话 - mybatis的高端用法你会吗?
前面了解了springboot + mybatis的单数据源和多数据源的集成已经使用,本篇文章来聊聊mybatis的高端用法吧 1.环境搭配 1.1 pom依赖 基于springboot 2.5.6, ...
- 【mybatis】mybatis if 标签判断字符串相等
mybatis if 标签判断字符串相等 mybatis 映射文件中,if 标签判断字符串相等,两种方式: 因为 mybatis 映射文件,是使用的 ognl 表达式,所以在判断字符串 sex 变量是 ...
- spring Mybatis注解加判断
spring Mybatis注解加判断 spring Mybatis注解加判断 一.用script标签包围,然后像xml语法一样书写 判断参数是否为空或者为null,没有参数则不执行该语句 @Sele ...
- mybatis if标签判断字符串是否相等
mybatis 映射文件中,if标签判断字符串相等: 大概场景就是需要判断商品状态status(String变量)是否是字符串"on",一开始我的写法是: <if test= ...
- Mybatis中的foreach用法
Mybatis中的foreach用法 目录 Mybatis中的foreach用法 元素属性 List对象集合查询 根据数组中的Id删除 update修改 元素属性 item: 集合中元素迭代时的别名, ...
- 关于mybatis中selectKey的用法
在使用MyBatis插入数据进入数据库的时候会用到sequence序列来生成自增的id 这时可以使用selectKey就可以得到sequence的值,同时也会将值返回.不过对于不同的数据库有不同的操作 ...
最新文章
- 用看门狗定时器做计时器,计算程序耗时,超声波测距,FL2440
- 中关村创业大街上的“野心”青年:在这里不用拼爹
- Java编写抓取用户信息代码_[代码全屏查看]-一个基于JAVA的知乎爬虫,抓取知乎用户基本信息...
- oracle test传入参数,oracle存储过程,test(测试)时传自定义类型参数问题
- 不想打造物联网的制造型企业不是一家合格的百年老店
- 多校3 1008 Solve this interesting problem
- Mysql学习笔记(二):子查询与连接
- linux下virtualbox安装win7虚拟机无法调整分辨率
- 使用IDEA工具配置和运行vue项目(详细其中的坑)
- 没错,我是高端吃瓜玩家(搞懂摩斯密码)
- 服务器有无线网卡么,全面认识服务器网卡:理论篇
- 刑侦 技侦 警种
- JavaWeb-Servlet(上)
- 小程序接入「微信对话开放平台」,创建对话客服机器人
- Linux网络新技术基石:eBPF and XDP
- python2和python3的区别、转换及共存
- 买股票总是跌多涨少?买啥啥跌?试试“选股助手”吧
- 广州科源980tc数控系统说明书_广州数控GSK928TCa 车床数控系统 使用手册中文.pdf...
- ChatGPT - 提示词
- 【STM32】STM32简述中断的基础知识
热门文章
- 【数电试题】西电通卓模拟卷三
- How to Succeed in Graduate School
- 【软考系统架构设计师】2021年下系统架构师综合知识历年真题
- 守护生命之源,昇思MindSpore携手伙伴共同保护河流生态
- 面试官问我 ,try catch 应该在for循环里面还是外面?
- 禁止在计算机旁放水的英语,英剧_《yes or no 2》经典台词(七):放水灯_沪江英语...
- NI与东南大学就搭建5G预研毫米波技术联合实验室合作
- 《十万个为什么》碎碎念记录
- 漫画 | 自动化的测试没啥用,别浪费时间写了!
- 迪杰斯特拉算法与佛洛依德算法