欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

MyBatis动态sql

程序员文章站 2022-03-10 23:07:26
MyBatis中的sql语句可以用动态生成,及用条件判断来拼写sql语句 1.使用if+where 来拼写sql语句 如图,根据传入的参数用if判断来拼写sql 2.使用trim+if实现sql的拼写 如图:trim中有一些属性: 《1》prefix:前缀 《2》prefixOverrides="a ......

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

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

  MyBatis动态sql

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

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

  MyBatis动态sql

  如图:trim中有一些属性:

      《1》prefix:前缀

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

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

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

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

   MyBatis动态sql

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

  如:

  MyBatis动态sql

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

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

  item:指的是当前对象

  open:开头

  close:结尾

  separator:分隔符

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

    MyBatis动态sql

  otherwise指的是其他条件