MyBatis目前动态SQL支持一下几种标签
if 判断语句
choose(when otherwise) 相当于JAVA中的if else
trim(where , set ) 辅助元素 用来处理sql拼接问题
foreach 循环语句 批量操作
bind 创建一个变量 并绑定到上下中 用于兼容不用的数据库,防止SQL注入等
choose 举例
<choose>
<when test="studentId != null">
</when>
<otherwise>
and 1=2
</otherwise>
<choose>
where 标签 使用trim 替换
<trim prefix="where" prefixOverrides="AND |OR">
</trim>
trim 标签介绍
prefix:当trim元素包含有内容时,增加prefix所指定的前缀
prefixOverrides:当trim 元素包含有内容时,去除prefixOverrides指定的前缀
suffix:当trim 元素包含有内容时,增加suffix所指定的后缀
suffixOverrides:当trim元素包含有内容时,去除suffixOverrides指定的后缀
bind 标签举例
<if test="name != null and name != ''">
<bind name="namelike" value="'%'+name+'%'">
and name like #{namelike}
</if>