Mybatis的xml中使用if/else标签的具体使用
目录
- 使用if标签进行查询
- where标签出场
- if/else 使用 choose,when,otherwise 代替
使用if标签进行查询
SELECTorderNo,adname,orderstatusFROMorder_Awhereorder=#{order} and title=#{title}
需要注意的是:如果第一个if的order为null的话 第二值title也为null的话运行会报错,就算第一个if等于null 那么查询语句变成
where and title='哈哈哈'
这样运行的话也会出现错误。where标签出场
SELECTorderNo,adname,orderstatusFROMorder_Aorder=#{order} and title=#{title}
where 元素只会在至少有一个子元素的条件返回 SQL 子句的情况下才去插入WHERE子句。而且,若语句的开头为AND或OR,where 元素也会将它们去除。这个只能解决2个值都为空。
不能解决order值为空但是title值为空时还是会出现语句错误的情况,这个时候我们可以在
and 前面用1=1或者true来解决
如:
文章图片
或这样
文章图片
if/else 使用 choose,when,otherwise 代替 【Mybatis的xml中使用if/else标签的具体使用】由于Mybatis中没有else标签但是可以通过choose,when,otherwise来使用
SELECTorderNo,adname,orderstatusFROM`orders_A` as orderTable `orders_B` as orderTable `orders_C` as orderTable `orders_A` as orderTable
翻译一下上面的语句:
当platformtype 值不为空并且把platformtype 值进行去除空字符串,并且值等于1时choose,when,otherwise标签有点像Java中的switch 当where的test值满足时会拼接里面的表,otherwise表示其他when标签都不满足时执行拼接
就会把表orders_A进行拼接,如果条件都不符合的话就会走otherwise标签默认拼接orders_A表进行查询
到此这篇关于Mybatis的xml中使用if/else标签的具体使用的文章就介绍到这了,更多相关Mybatis xml=使用if/else标签内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
推荐阅读
- Tensorflow|Tensorflow 实现线性回归模型的示例代码
- C#四种计时器Timer的区别和用法
- Python|Python 3.x对.CSV数据按任意行、列读取的过程
- {调取该文章的TAG关键词}|丰年资本完成新一期超10亿人民币基金首次关闭
- 投稿|被抖音杀入腹地的Keep,为何抓不住“刘畊宏女孩”?
- 大健康|核酸采样员岗位火了,机器人的机会也来了
- 免费监控Linux/Ubuntu上的Nginx实时指标
- 探索(Nginx Plus的外观如何())
- 如何使用Let’s Encrypt的加密证书设置Nginx()
- 大数据|从谷歌离职回到西湖大学,只为让AI听懂你的悲伤!