Mybatis|Mybatis动态SQL

1. if 格式

sql语句


2. where 【Mybatis|Mybatis动态SQL】直接可以省略sql中的 where 关键字
where会自动去除首个条件的前缀 AND
AND title like #{title} AND name like #{title}

3. choose(when/otherwise) 相当于java里面的switch语句 otherwise为其它情况

4.trim 功能是填写前缀和后缀,以及忽略前后的字符
prefix:整个trim增加前缀
suffix:整个trim增加后缀
suffixOverrides: 首个条件忽略前导字符
prefixOverrides:末尾条件忽略后缀字符
insert into test_demo task_id, ws_no, #{taskId}, #{wsNo},

上方sql的是将下方sql拆分
insert into test_demo(task_id,ws_no) VALUES('值1','值2')

5. foreach mybatis的foreach标签经常用于遍历集合,构建in条件语句或者批量操作语句。
参考
https://blog.csdn.net/xjszsd/article/details/118001173

6.set 主要用于更新语句,动态设置更新字段,如果传入的字段为空则不更新
如果所有条件都传空,则此sql会报 PSQLException 错误
update t_blog title = #{title}, content = #{content}, owner = #{owner} where id = #{id}

    推荐阅读