MyBatis动态sql
Posted myquen
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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指的是其他条件
以上是关于MyBatis动态sql的主要内容,如果未能解决你的问题,请参考以下文章