对于最新的稳定版本,请使用 Spring Data Relational 3.3.1Spring中文文档

对于最新的稳定版本,请使用 Spring Data Relational 3.3.1Spring中文文档

CRUD 操作和查询方法可以委托给 MyBatis。 本节介绍如何配置Spring Data JDBC以与MyBatis集成,以及要遵循哪些约定来移交查询的运行以及到库的映射。Spring中文文档

配置

将 MyBatis 正确插入 Spring Data JDBC 的最简单方法是导入到应用程序配置中:MyBatisJdbcConfigurationSpring中文文档

@Configuration
@EnableJdbcRepositories
@Import(MyBatisJdbcConfiguration.class)
class Application {

  @Bean
  SqlSessionFactoryBean sqlSessionFactoryBean() {
    // Configure MyBatis here
  }
}

正如你所看到的,你所需要声明的只是一个依赖于一个bean,最终是可用的。SqlSessionFactoryBeanMyBatisJdbcConfigurationSqlSessionApplicationContextSpring中文文档

使用约定

对于 中的每个操作,Spring Data JDBC 都会运行多个语句。 如果应用程序上下文中存在 SqlSessionFactory,则 Spring Data 会检查每个步骤是否提供语句。 如果找到一个,则使用该语句(包括其配置的到实体的映射)。CrudRepositorySessionFactorySpring中文文档

语句的名称是通过将实体类型的完全限定名称与确定语句的类型连接起来构造的。 例如,如果要插入 的实例,Spring Data JDBC 将查找名为 的语句。Mapper.Stringorg.example.Userorg.example.UserMapper.insertSpring中文文档

运行语句时,[] 的实例将作为参数传递,从而使语句可以使用各种参数。MyBatisContextSpring中文文档

下表描述了可用的 MyBatis 语句:Spring中文文档

名字 目的 可能触发此语句的 CrudRepository 方法 中可用的属性MyBatisContext

insertSpring中文文档

插入单个图元。这也适用于聚合根引用的实体。Spring中文文档

save, .saveAllSpring中文文档

getInstance:要保存的实例Spring中文文档

getDomainType:要保存的实体的类型。Spring中文文档

get(<key>):引用实体的 ID,其中 是 .<key>NamingStrategySpring中文文档

updateSpring中文文档

更新单个实体。这也适用于聚合根引用的实体。Spring中文文档

save, .saveAllSpring中文文档

getInstance:要保存的实例Spring中文文档

getDomainType:要保存的实体的类型。Spring中文文档

deleteSpring中文文档

删除单个实体。Spring中文文档

delete, .deleteByIdSpring中文文档

getId:要删除的实例的 IDSpring中文文档

getDomainType:要删除的实体的类型。Spring中文文档

deleteAll-<propertyPath>Spring中文文档

删除用作给定属性路径前缀的类型的任何聚合根引用的所有实体。 请注意,用于为语句名称添加前缀的类型是聚合根的名称,而不是要删除的实体的名称。Spring中文文档

deleteAll.Spring中文文档

getDomainType:要删除的实体的类型。Spring中文文档

deleteAllSpring中文文档

删除用作前缀的类型的所有聚合根Spring中文文档

deleteAll.Spring中文文档

getDomainType:要删除的实体的类型。Spring中文文档

delete-<propertyPath>Spring中文文档

删除具有给定 propertyPath 的聚合根引用的所有实体Spring中文文档

deleteById.Spring中文文档

getId:要删除其引用实体的聚合根的 ID。Spring中文文档

getDomainType:要删除的实体的类型。Spring中文文档

findByIdSpring中文文档

按 ID 选择聚合根Spring中文文档

findById.Spring中文文档

getId:要加载的实体的 ID。Spring中文文档

getDomainType:要加载的实体的类型。Spring中文文档

findAllSpring中文文档

选择所有聚合根Spring中文文档

findAll.Spring中文文档

getDomainType:要加载的实体的类型。Spring中文文档

findAllByIdSpring中文文档

按 ID 值选择一组聚合根Spring中文文档

findAllById.Spring中文文档

getId:要加载的实体的 ID 值列表。Spring中文文档

getDomainType:要加载的实体的类型。Spring中文文档

findAllByProperty-<propertyName>Spring中文文档

选择由另一个实体引用的一组实体。引用实体的类型用于前缀。引用的实体类型用作后缀。此方法已弃用。请改用 findAllByPathSpring中文文档

所有方法。如果未定义查询find*findAllByPathSpring中文文档

getId:引用要加载的实体的实体的 ID。Spring中文文档

getDomainType:要加载的实体的类型。Spring中文文档

findAllByPath-<propertyPath>Spring中文文档

选择由另一个实体通过属性路径引用的一组实体。Spring中文文档

所有方法。find*Spring中文文档

getIdentifier:保存聚合根的 ID 以及所有路径元素的键和列表索引。IdentifierSpring中文文档

getDomainType:要加载的实体的类型。Spring中文文档

findAllSortedSpring中文文档

选择所有聚合根,排序Spring中文文档

findAll(Sort).Spring中文文档

getSort:排序规范。Spring中文文档

findAllPagedSpring中文文档

选择聚合根的页面,可以选择排序Spring中文文档

findAll(Page).Spring中文文档

getPageable:分页规范。Spring中文文档

countSpring中文文档

计算用作前缀的类型的聚合根数Spring中文文档

countSpring中文文档

getDomainType:要计数的聚合根的类型。Spring中文文档

名字 目的 可能触发此语句的 CrudRepository 方法 中可用的属性MyBatisContext

insertSpring中文文档

插入单个图元。这也适用于聚合根引用的实体。Spring中文文档

save, .saveAllSpring中文文档

getInstance:要保存的实例Spring中文文档

getDomainType:要保存的实体的类型。Spring中文文档

get(<key>):引用实体的 ID,其中 是 .<key>NamingStrategySpring中文文档

updateSpring中文文档

更新单个实体。这也适用于聚合根引用的实体。Spring中文文档

save, .saveAllSpring中文文档

getInstance:要保存的实例Spring中文文档

getDomainType:要保存的实体的类型。Spring中文文档

deleteSpring中文文档

删除单个实体。Spring中文文档

delete, .deleteByIdSpring中文文档

getId:要删除的实例的 IDSpring中文文档

getDomainType:要删除的实体的类型。Spring中文文档

deleteAll-<propertyPath>Spring中文文档

删除用作给定属性路径前缀的类型的任何聚合根引用的所有实体。 请注意,用于为语句名称添加前缀的类型是聚合根的名称,而不是要删除的实体的名称。Spring中文文档

deleteAll.Spring中文文档

getDomainType:要删除的实体的类型。Spring中文文档

deleteAllSpring中文文档

删除用作前缀的类型的所有聚合根Spring中文文档

deleteAll.Spring中文文档

getDomainType:要删除的实体的类型。Spring中文文档

delete-<propertyPath>Spring中文文档

删除具有给定 propertyPath 的聚合根引用的所有实体Spring中文文档

deleteById.Spring中文文档

getId:要删除其引用实体的聚合根的 ID。Spring中文文档

getDomainType:要删除的实体的类型。Spring中文文档

findByIdSpring中文文档

按 ID 选择聚合根Spring中文文档

findById.Spring中文文档

getId:要加载的实体的 ID。Spring中文文档

getDomainType:要加载的实体的类型。Spring中文文档

findAllSpring中文文档

选择所有聚合根Spring中文文档

findAll.Spring中文文档

getDomainType:要加载的实体的类型。Spring中文文档

findAllByIdSpring中文文档

按 ID 值选择一组聚合根Spring中文文档

findAllById.Spring中文文档

getId:要加载的实体的 ID 值列表。Spring中文文档

getDomainType:要加载的实体的类型。Spring中文文档

findAllByProperty-<propertyName>Spring中文文档

选择由另一个实体引用的一组实体。引用实体的类型用于前缀。引用的实体类型用作后缀。此方法已弃用。请改用 findAllByPathSpring中文文档

所有方法。如果未定义查询find*findAllByPathSpring中文文档

getId:引用要加载的实体的实体的 ID。Spring中文文档

getDomainType:要加载的实体的类型。Spring中文文档

findAllByPath-<propertyPath>Spring中文文档

选择由另一个实体通过属性路径引用的一组实体。Spring中文文档

所有方法。find*Spring中文文档

getIdentifier:保存聚合根的 ID 以及所有路径元素的键和列表索引。IdentifierSpring中文文档

getDomainType:要加载的实体的类型。Spring中文文档

findAllSortedSpring中文文档

选择所有聚合根,排序Spring中文文档

findAll(Sort).Spring中文文档

getSort:排序规范。Spring中文文档

findAllPagedSpring中文文档

选择聚合根的页面,可以选择排序Spring中文文档

findAll(Page).Spring中文文档

getPageable:分页规范。Spring中文文档

countSpring中文文档

计算用作前缀的类型的聚合根数Spring中文文档

countSpring中文文档

getDomainType:要计数的聚合根的类型。Spring中文文档