MyBatis-动态SQL
2020-05-08 本文已影响0人
A_Adorable_Dali
MyBatis动态SQL元素
1.<if>
满足条件就执行对应的sql语句
小提示:
问:为什么要用where 1=1
答:用于用户多个选择项拼凑where条件时使用,简化sql复杂程度,避免了where后面第一个词是and或者or之类的关键词
2.<choose>、<when>、<otherwise>
多个选择只执行一个
3.<where>
相当于where 1=1
4.<trim>
相当于where 1=1,prefix前缀,prefixOverrides要去除的特殊字符
5.<set>
用于更新时对更新条件进行处理,自动添加set,自动去除sql语句种最后一个多余的逗号
6.<foreach>
通常在In条件语句种使用
对传入的参数进行遍历并进行SQL动态组装
· item:配置的是循环中当前的元素。
· index:配置的是当前元素在集合的位置下标。
· collection:配置的list是传递过来的参数类型(首字母小写),它可以是一个array、list(或collection)、Map集合的键、POJO包装类中数组或集合类型的属性名等。
· open和close:配置的是以什么符号将这些集合元素包装起来。
· separator:配置的是各个元素的间隔符
7.<bind>
用于模糊查询