mybatis中if else标签,mybatis if elseif标签

  mybatis中if else标签,mybatis if elseif标签

  00-1010使用if标签查询标签要出到哪里if/else使用choose,when,否则代替。

  

目录

SELECTorderNo,adname,orderstatusFROMorder _ a where if test= order!=null order=# { order }/ifif test= title!=null 和title=#{title}/if需要注意的是,如果第一个if的order为null,第二个if的title为null,那么操作会报错。即使第一个if为null,那么查询语句也会变成where和title=哈哈哈,就会出错。

 

  

使用if标签进行查询

SELECTorderNo,adname,orderstatusFROMorder _ a where if test= order!=null order=# { order }/ifif test= order!=null 且title=# {title}/if/where只有在至少一个子元素的条件返回SQL子句时,WHERE元素才会插入WHERE子句。此外,如果语句以AND或or开头,where元素也会删除它们。这只能解决两个值都为空的问题。订单值为空而标题值为空时,我们无法解决语句错误的问题。这时候我们可以用1=1或者true before和来求解。

 

  比如:

  或者像这样

  00-1010由于Mybatis中没有else标签,所以可以由choose,when,otherwise使用。

  当test= platformtype!=null和platformtype.trim()!= and platform type==1 ` orders _ a ` as order table/when when test= platform type!=null和platformtype.trim()!= and platform type==2 ` orders _ b as order table/when when test= platform type!=null和platformtype.trim()!= 且平台类型==3 ` orders _ c ` as order table/when other ` orders _ a ` as order table/other/choose。翻译上面的语句:

  当platformtype值不为null并且从platformtype值中删除了空字符串,并且该值等于1时,将拼接orders_A表。如果所有条件都不满足,那么默认情况下将使用otherwise标签拼接orders_A表进行查询。

  选择,当,其他标签有点像Java里的开关。当满足where的测试值时,它将拼接内部的表。“其他”表示当标签不符合要求时,执行拼接。

  关于Mybatis xml中if/else标签的具体使用,本文就到这里了。关于Mybatis xml=使用if/else标签的更多信息,请搜索之前流行IT的文章或者继续浏览下面的相关文章。我希望你以后能更多地支持流行音乐!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: