3.1什么是MyBatis动态SQL
根据用户提供的参数,动态决定查询语句依赖的查询条件或则SQL语句的内容
3.2动态SQL依赖标签
3.2.1if
3.2.2choose、when、otherwise
3.2.3trim、where、set
3.2.4foreach
3.3 if使用
3.4choose、when、otherwise
类似于Java中的switch case default. 只有一个条件生效,也就是只执行满足的条件when,没有满足的条件就执行otherwise,表示默认条件
3.5where
可以自动的将第一个条件前面
的逻辑运算符(or ,and)去掉
3.6set
会在成功拼接的条件前加上SET单词且最后一个”,”号会被无视掉
3.7trim
3.8foreach
foreach标签用于对集合内容进行遍历,将得到内容作为SQL语句的一部分.
在实际开发过程中主要用于in语句的构建和批量添加操作
foreach元素的属性主要有 item,index,collection,open,separator,close。
例1.使用foreach实现批处理添加
案例2.使用foreach遍历list集合作为查询条件
案例3.使用foreach遍历数组作为查询条件
案例4.使用foreach遍历Map作为查询条件