个人理解:就是在某些情况下需要判断某一些SQL语句哪些应该执行那些不应该执行,这些方法组成动态SQL。
8.1 if
使用动态 SQL 最常见情景是根据条件包含 where 子句的一部分。比如:
8.2 choose、when、otherwise(java中的switch case default)
8.3 trim、where、set(就是将SQL语句中的某些符号进行判断是否保留)
8.4 foreach
要在带注解的映射器接口类中使用动态 SQL,可以使用 script 元素。比如:
如果配置了 databaseIdProvider,你就可以在动态代码中使用名为 “_databaseId” 的变量来为不同的数据库构建特定的语句。比如下面的例子: