MyBatis dynamic SQL 1.2.0 发布,生成动态 SQL 的框架
MyBatis dynamic SQL 1.2.0 已发布,此工具库是生成动态 SQL 语句的通用框架,可把它看作是一个类型安全的 SQL 模板库,它还支持 MyBatis3 和 Spring JDBC 模板。
MyBatis dynamic SQL 可生成格式完整的 DELETE、INSERT、SELECT 和 UPDATE 语句供 MyBatis 或 Spring 使用。最常见的用例是生成可由 MyBatis 直接使用的语句和一组匹配的参数。该工具库还可生成与 Spring JDBC 模板兼容的语句和参数对象。
1.2.0 版本带来了一些重要的变化:
- 改进 Kotlin DSL,目前它已支持底层 Java DSL 的全部功能——最显著的是支持联合查询
- 对 Spring NamedParameterJDBCTemplate 的支持也有重大改进。对于 Java 和 Kotlin,均通过 Spring 支持该工具库的全部功能。值得关注的改进包括:
- 所有的语句类型(包括多行插入的情况)都会被正确渲染,而且官方还为 Java 添加了一个类似于 Kotlin 扩展方法中已有的工具类
- 支持在 Spring 中为大多数插入语句检索生成的密钥,并为 Kotlin DSL 添加了对生成密钥检索的支持
- 一项新功能:支持在参数值被放置到参数 Map 中之前对其进行转换。这类似于 MyBatis 类型处理程序,但对 Spring 非常有用。它支持使用者在其模型类中使用更复杂的类型,但在执行生成的 SQL 之前会将这些类型转换为 Spring 能够理解的类型
- 引入新的"general insert"语句,它不需要用于协助支持的 POJO。此语句可用于 MyBatis 和 Spring,在 Spring 中与新的参数转换支持功能结合使用,效果非常好
- 改进基类函数,因此可以更轻松地创建自己专用的函数,并为工具库添加不受原生支持的功能
Maven
<dependency>
<groupId>org.mybatis.dynamic-sql</groupId>
<artifactId>mybatis-dynamic-sql</artifactId>
<version>1.2.0</version>
</dependency>