• MyBatis学习(九)--动态SQL


    动态SQL理解

      处理多条件拼接问题,如,边界值。

      1、if关键字:

      动态SQL最常做的事就是有条件的包括where子句,如:

      通过title寻找blog,title不一定有值:

      

      2、choose关键字

      有时候我们不想应用所有的条件,而是想从多个选项中选择一个。与java 中的switch 语句相似, MyBatis提供了一个choose 元素。

      choose关键字一般和when,otherwise一起使用。如:

      使用choose关键字判断title是否有值:

      

      3、使用where关键字

      可嵌套多个if,满足任意一个都可以执行。如:

      

      4、使用trim关键字

      和where类似。

        

      注意:overrides属性使用了管道分隔的文本列表来覆写,而且它的空白也不能忽略的。这样的结果是移出了指定在overrides 属性里字符,而在开头插入prefix属性中指定的字符。prefixOverrides:覆写前面的;suffixOverrides:覆写后面的;

      5、set关键字

      set元素能够动态地更新列。
      如:更新blog表,根据title列author_id的值,来判断是否更新这两列

      

      注意:逗号

      

      6、使用trim关键字实现更新

       和set类似;

      

      7、使用foreach关键字

      通常用在IN条件句中。如:

      查询id属于一个范围的blog,输入参数list;

      

    PS:因博主能力有限,如有误还请谅解

  • 相关阅读:
    redis哨兵模式
    zookeeper 日志输出到指定文件夹
    Zookeeper运维问题集锦
    应用层、传输层、网络层常用协议
    链表排序
    集线器、交换机、路由器的区别
    C链表
    virtio/pass-through
    shell脚本实例
    KVM虚拟化相关-进阶
  • 原文地址:https://www.cnblogs.com/WHL5/p/8721642.html
Copyright © 2020-2023  润新知