天天看点

动态SQL

​ 个人理解:就是在某些情况下需要判断某一些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” 的变量来为不同的数据库构建特定的语句。比如下面的例子: