1. <if></if>标签
用于基本的条件判断。必填属性test="",双引号的测试结果为true或false,只有test的结果为true才会拼接if标签中的sql,如果有多个测试条件可以用 and 或者 or连接
示例:
2.<foreach></foreach>标签
foreach标签可以对数组, Map或者实现了Iterable接口的集合进行遍历, 数组在处理时自动转化为List对象, 因此foreach标签的遍历分为两大类:Iterable 和 Map。 属性:
- collection 值为要循环对象的名称,一般由@Param("")来指定。
- item 变量名,代表循环对象中取出的每一个值。若为Map,item代表的值是键值对的值,而不是整个键值对
- index 索引的属性名(集合为当前索引值,Map则为key)
- open 整个循环开头的字符串
- close 整个循环结束的字符串
- separator 每次循环的分隔符
示例:
3.<where></where>标签
多配合if标签使用,能够去除多余的and使sql能够正确编译,替代不怎么美观的1=1。
示例:
4.<choose></choose>标签
相当于java中的if-else,与<when></when>标签<otherwise></otherwise>标签搭配使用。有时候并不想应用所有的条件,而只是想从多个选项中选择一个。choose标签是按顺序判断其内部when标签中的test条件出否成立,如果有一个成立,则 choose 结束。当 choose 中所有 when 的条件都不满则时,则执行 otherwise 中的sql。
5.<set></set>标签
更新时自动拼接set,并去除多余逗号
6.<select></select>标签
用于映射sql的select操作。
属性:
- useGeneratedKeys 是否开启主键回显
- keyProperty 指定回显的主键值,映射到传入实体参数的字段名
示例:
7.复用sql的标签
<sql id =""></sql>指定要复用的sql语句块。<include refid = ""/>指定引入的sql的语句块