MyBatis动态sql

MyBatis中的sql语句可以用动态生成,及用条件判断来拼写sql语句

  1.使用if+where 来拼写sql语句

  

  如图,根据传入的参数用if判断来拼写sql

  2.使用trim+if实现sql的拼写

  

  如图:trim中有一些属性:

      《1》prefix:前缀

      《2》prefixOverrides="and | or" 重写前缀,避免出现多于的and或者or

      《3》suffix=“” 后缀,及在trim结尾加

      《4》suffixOverrides=""后缀重写,在每个if中sql语句后加,避免多余

  3.更新用if+set  (set会自动忽略掉结尾的,)

   

  4.当需要用到范围操作的时候通常用foreach

  如:

  

  用foreach循环便利出传入参数list中的变量。foreach的属性如图所示:

  collection=“”:如果传入的参数为数字则写 Array,如果传入的参数为list的话则写list,如果传入参数为map则写map中对应的键名

  item:指的是当前对象

  open:开头

  close:结尾

  separator:分隔符

  5.使用choose(when,otherwise)类似于java中switch

    

  otherwise指的是其他条件

posted @ 2018-06-19 11:56  MyKing  阅读(695)  评论(0编辑  收藏  举报