标签 | 声明 |
if | 条件判断,与java 中的if语句相似 |
where | 为SQL语句动态添加 where 关键词 |
choose | 条件判断,这是一个组合,需要和when、otherwise 标签搭配使用,可实现与java中 switch 语句类似的功能 |
foreach | 以遍历方式处理集合类型参数 |
set | 为SQL语句动态添加 set 关键字。实现动态实现数据更新功能 |
trim | 对SQL语句进行格式化处理,添加或移除前后缀 |
一、if标签
<if test="条件判断。返回true或false">
SQL语句
</if>
示例:
<if test="name !=null">
`name`=#{name}
</if>
二、where标签
<where>
<if test="条件">
SQL语句
</if>
</where>
三、choose标签
<choose>
<when test="判断条件">
SQL语句
</when>
<when test="判断条件">
SQL语句
</when>
<when test="判断条件">
SQL语句
</when>
<otherwise>
SQL语句
</otherwise>
</choose>
四、foreach标签
<foreach collection="参数名称" item="元素别名" open="(" separator="," close=")"
index="当前元素位置下标">
#{元素别名}
</foreach>
<!-- item:遍历数组时,为数组或List集合中的元素起别名 -->
<!-- open:起始位置的拼接字符,表示 in 语句以 "(" 左括号开始 -->
<!-- close:结束位置的拼接字符,表示 in 语句 ")" 右括号结束-->
<!-- separator:元素之间的连接字符,表示 in 语句中的元素之间以 "," 逗号连接 -->
<!-- collection:参数名称。当参数为数组类型时,默认参数名为 array。
当参数类型为 List 集合时,默认参数名为list。
当参数类型为 Map 时,参数名为Map中集合元素所在键值对key -->
示例:
一、数组
<foreach collection="array" item="item" open="(" separator="," close=")">
#{item}
</foreach>
二、list集合
<foreach collection="list" item="item" open="(" separator="," close=")">
#{item}
</foreach>
三、Map集合
<foreach collection="j" item="item" open="(" separator="," close=")">
#{item}
</foreach>
五、set标签
<set>
<if test="判断条件">
SQL语句
</if>
</set>
六、trim标签
<trim prefix="前缀" suffix="后缀" prefixOverrides="忽略前缀"
suffixOverrides="忽略后缀">
</trim>