根据不同条件拼接 SQL 语句,实现对数据库更准确的操作;
if 元素:判断语句,单条件分支判断.
choose 元素(优先):(when,otherwise)多条件分支判断,等同于 java 的 switch
trim:(万能元素)(where,set):辅助元素,用于处理一些SQL 拼接的问题.
foreach 元素:循环语句,在 in 语句等列举条件常用
bind 元素:自定义上下文变量,传递参数
1.自动根据是否有条件添加where
2.去掉第一个条件的and
1.自动添加set(如果 set 包含的内容为空的话则会出错。)
2.去掉set包含的语句中最后一个逗号
update student
sname =#{sname},
birthday =#{birthday},
ssex =#{ssex},
classid =#{classid},
sid = #{sid}
prefix :之前要添加的字符
prefixOverrides:之前的后面要去除的字符
suffix:之后要添加的字符
suffixOverrides:后面要去除的字符
insert into student
sname,
birthday,
ssex,
classid,
values
#{sname},
#{birthday},
#{ssex},
#{classid},
delete from student
#{sid}
insert into student (sname,birthday,ssex,classid)
(#{x.sname},#{x.birthday},#{x.ssex},#{x.classid})
#{},防止SQL注入的占位符,防止SQL注入
${} 字符串的替换,不能防止SQL注入