我想了解为什么spring提供对MyBatis的集成。
发布于 2019-05-23 17:30:02
简而言之,spring-data-jdbc为提供JDBC的存储提供了域驱动的设计存储库实现。它试图在概念上非常简单(特别是如果您将它与JPA进行比较的话)。并且类似于mybatis,因为它不试图引入隐藏ORM复杂性的抽象。
以下是spring-data-jdbc文档的引文:
spring-data-jdbc不含铁线莲即可使用。这些查询要么是由spring-data-jdbc自己实现的CRUD查询,要么是使用@Query注释指定的自定义查询。
它确实提供了对mybatis的集成,这允许使用第三种方式来指定查询,即使用mybatis提供的所有功能。这允许在为简单查询使用基于存储库方法名称的自动查询生成的同时创建更复杂的映射。
有时,即使对于简单的CRUD操作,创建SQL查询也是必要的,这在mybatis中被看作是一个限制或问题。spring-data-jdbc允许通过在应用程序中引入一个额外的抽象层(存储库)来解决这个问题。我说additional是因为可以使用mapper作为DDD存储库。
如果应用程序有大量CRUD操作,那么将会引入并使用大量非常相似的代码或一些解决方案,使通用CRUD类似于https://github.com/rickcr/mybatis-generic-crud。
spring-data-jdbc允许以相当低的价格很好地解决这个问题。
https://stackoverflow.com/questions/56273556
复制相似问题