Mybatis框架(三)

<foreach>中各个属性的含义:

collection:指定要遍历的集合:  

List类型的参数会特殊处理封装在map中,map的key就叫list ;

item:将当前遍历出的元素赋值给指定的变量 ;

separator:每个元素之间的分隔符 ;

open:遍历出所有结果拼接一个开始的字符 ;

close:遍历出所有结果拼接一个结束的字符 ;

index:索引。遍历list的时候是index就是索引,item就是当前值 ;

遍历map的时候index表示的就是map的key,item就是map的值;

mybatis的trim标签一般用于去除sql语句中多余的and关键字,逗号,或者给sql语句前拼接 “where“、“set“以及“values(“ 等前缀,或者添加“)“等后缀,可用于选择性插入、更新、删除或者条件查询等操作。

prefix:

  给sql语句拼接的前缀

suffix:

  给sql语句拼接的后缀

prefixOverrides:

  去除sql语句前面的关键字或者字符,该关键字或者字符由prefixOverrides属性指定,假设该属性指定为"AND",当sql语句的开头为"AND",trim标签将会去除该"AND"

suffixOverrides:

  去除sql语句后面的关键字或者字符,该关键字或者字符由suffixOverrides属性指定

有时候我们并不想应用所有的条件,而只是想从多个选项中选择一个。而使用if标签时,只要test中的表达式为 true,就会执行 if 标签中的条件。MyBatis 提供了 choose 元素。if标签是与(and)的关系,而 choose 是或(or)的关系。

choose标签是按顺序判断其内部when标签中的test条件出否成立,如果有一个成立,则 choose 结束。当 choose 中所有 when 的条件都不满则时,则执行 otherwise 中的sql。类似于Java 的 switch 语句,choose 为 switch,when 为 case,otherwise 则为 default。

原文地址:https://www.cnblogs.com/21-forever/p/11388245.html