1.动态SQL
随着用户的输入或外部条件的变化而变化的SQL语句,我们就称之为动态SQL。
从上图我们可以看出我们SQL语句是固定不变的,我们想让SQL随着输入条件而改变,就需要用到动态SQL。
准备工作:
这个插件可以快速进行SQL定位
2.<if>
用于判断条件是否成立,使用test属性进行条件判断,如果条件为true,则拼接SQL。
此时已经初步达到了动态SQL的效果。随后我们再次对传入的参数进行简单的修改,
程序报错,SQL语法错误,我仔细看不难发现我们的查询语句那多了一个and,我应该如何去解决这个问题?我们要用到一个新的元素<where>。
3.<where>
where元素只会在子元素有内容的情况下才插入where子句,而且会自动去除子句开头的and或or。
4.<foreach>
collection:遍历的集合
items:遍历出来的元素
separator:分隔符
open:遍历开始前拼接的SQL片段
close:遍历结束后拼接的SQL片段
foreach进行循环遍历。
5.<sql><include>
sql元素用来定义可重用的SQL片段,通过id唯一标识。
include元素通过refid,指定包含的SQL片段。
6.<update><set>
set元素会动态在行首插入set关键字,并且会删除额外的逗号(用在update元素内)。