通用mapper和mybatis-spring的关系以及与之相似的spring-data-jpa
整合东西到框架里面去就是集成框架的接口类之后进行复写:
public class MapperScannerConfigurer
extends org.mybatis.spring.mapper.MapperScannerConfigurer
从这里看出spring-mybatis本生就具备把mapper生成代理实现类,那么通用mapper就是做了单表的操作的省略,
生成是mybatis-generator
spring-data-jpa:
生成代码+成代理+单表操作省略
<jpa:repositories base-package="com.esteel.web.dao"></jpa:repositories>
ClassPathBeanDefinitionScanner:
private BeanNameGenerator beanNameGenerator = new AnnotationBeanNameGenerator();///在打断点的时候不知用的到底是接口的那个实现类看前面注入的地方
protected Set<BeanDefinitionHolder> doScan(String... basePackages) {
Assert.notEmpty(basePackages, "At least one base package must be specified");
Set<BeanDefinitionHolder> beanDefinitions = new LinkedHashSet<BeanDefinitionHolder>();
for (String basePackage : basePackages) {///////////////////包可以有多个
Set<BeanDefinition> candidates = findCandidateComponents(basePackage);////////////////////////////////获取一个一个mapper
for (BeanDefinition candidate : candidates) {
ScopeMetadata scopeMetadata = this.scopeMetadataResolver.resolveScopeMetadata(candidate);
candidate.setScope(scopeMetadata.getScopeName());
String beanName = this.beanNameGenerator.generateBeanName(candidate, this.registry);///在打断点的时候不知用的到底是接口的那个实现类看前面注入的地方
if (candidate instanceof AbstractBeanDefinition) {
postProcessBeanDefinition((AbstractBeanDefinition) candidate, beanName);
}
if (candidate instanceof AnnotatedBeanDefinition) {
AnnotationConfigUtils.processCommonDefinitionAnnotations((AnnotatedBeanDefinition) candidate);
}
if (checkCandidate(beanName, candidate)) {
BeanDefinitionHolder definitionHolder = new BeanDefinitionHolder(candidate, beanName);
definitionHolder = AnnotationConfigUtils.applyScopedProxyMode(scopeMetadata, definitionHolder, this.registry);
beanDefinitions.add(definitionHolder);//////////////所有的mapper都加到这个集合
registerBeanDefinition(definitionHolder, this.registry);
}
}
}
return beanDefinitions;
}
相关推荐
6. **与Spring Data集成**:虽然MyBatis-Spring主要是为MyBatis和Spring的集成设计的,但也可以与Spring Data JPA等其他数据访问技术配合使用,提供更加丰富的数据访问选项。 与MyBatis-3.4.4的配合使用: 1. **...
在实际开发中,我们可以将MyBatis-Spring与Spring Boot、Spring MVC或Spring Data JPA等其他Spring组件结合使用,构建出强大且易于维护的数据访问层。同时,有了源码和文档的帮助,开发者可以更好地理解和定制这个...
它包含了MyBatis、MyBatis-Spring以及相关的配置类,使开发者能够快速地在Spring Boot项目中使用MyBatis。"spring-boot-starter-mybatis-spring-boot-1.0.2"这个版本即为该起步依赖的一个特定版本,适用于Windows...
《SSM框架详解:基于spring-mybatis-spring-1.3.2.tar.gz的实践与探索》 在Java开发领域,SSM框架(Spring、SpringMVC、MyBatis)是广泛使用的三大组件,它们各自负责不同的职责,共同构建出高效、灵活的企业级应用...
- **添加依赖**:在`pom.xml`或`build.gradle`中引入`spring-boot-starter-data-jpa`和`mybatis-spring-boot-starter`依赖。例如,在`pom.xml`中: ```xml <groupId>org.springframework.boot <artifactId>...
- 添加依赖:在`pom.xml`或`build.gradle`文件中引入`spring-boot-starter-data-jpa`和`mybatis-spring-boot-starter`依赖。 - 配置数据源:Spring Boot会自动发现并配置数据源,只需要在`application.properties`...
- **添加依赖**:在`pom.xml`文件中,我们需要引入`spring-boot-starter-data-jpa`和`mybatis-spring-boot-starter`两个依赖。对于Spring Boot 2.2.0版本,依赖如下: ```xml <groupId>org.springframework....
它是Spring Boot官方为了简化MyBatis集成而提供的一个模块,包含了MyBatis、MyBatis-Spring、以及相关的依赖。通过引入这个依赖,我们可以快速地在Spring Boot项目中启用MyBatis。 在Spring Boot项目中添加依赖,...
以上就是Spring Boot集成MyBatis的基础知识,包括依赖引入、配置、Mapper的使用,以及版本的选择和下载。通过这些步骤,你可以轻松地在Spring Boot项目中构建起MyBatis的数据访问层,实现高效、灵活的数据库操作。
`spring-boot-starter-mybatis`是Spring Boot为MyBatis提供的一个starter,它包含了MyBatis、MyBatis-Spring、以及相关的依赖,使得开发者可以方便地在Spring Boot项目中使用MyBatis。在`pom.xml`或`build.gradle`...
本文将以`spring-boot-starter-mybatis-spring-boot-2.3.0`为例,深入解析Spring Boot如何集成MyBatis,并探讨其在Linux环境下的部署与使用。 一、Spring Boot集成MyBatis 1. 添加依赖 首先,在Spring Boot项目中...
四、MyBatis与Spring Data JPA比较 Spring Boot同时提供了对JPA和MyBatis的支持。JPA是一种ORM(对象关系映射)框架,适用于面向对象编程,而MyBatis则更注重SQL的灵活性。选择哪种方式取决于项目需求,如果需要更...
<artifactId>mybatis-spring-boot-starter <version>1.1.0 ``` 2. **配置MyBatis**: Spring Boot会自动配置MyBatis的一些基本设置,如扫描Mapper接口等。但如果我们需要自定义配置,可以在`application.yml`...
在这个"springboot-mybatis-demo"项目中,可能使用了"spring-boot-starter-data-jdbc"和"mybatis-spring-boot-starter"来集成MyBatis。 【MyBatis】MyBatis允许开发者编写SQL语句而不是HQL或JPA的 Criteria API,...
本篇文章将深入探讨如何将Spring与JPA和MyBatis进行集成,以便在实际项目中灵活地利用它们的优势。 首先,让我们了解Spring框架。Spring是一个开源的Java平台,它主要设计用于简化企业级应用的开发。通过依赖注入...
本文将围绕"spring-boot-starter-mybatis-spring-boot-1.3.0.tar.gz"这一主题,深入探讨Spring Boot如何与MyBatis集成,以及在Linux环境下如何进行操作。 1. **Spring Boot Starter MyBatis介绍** Spring Boot ...
本文将以`spring-boot-starter-mybatis-spring-boot-2.3.1`为例,深入探讨如何在Spring Boot项目中集成MyBatis,以及该版本的主要特性。 一、Spring Boot与MyBatis集成原理 Spring Boot通过`spring-boot-starter-...
最后,通过`spring-boot-starter-mybatis-spring-boot-2.1.2`这个压缩包,你可以获取到相应版本的依赖,方便本地开发或构建私有Maven仓库,确保项目的稳定性和一致性。 总的来说,`spring-boot-starter-mybatis-...
在本示例中,我们将探讨如何使用MyBatis-Plus与Spring Boot集成,以实现更高效的Java后端开发。 首先,我们需要了解MyBatis-Plus的基本概念。MyBatis-Plus是MyBatis的增强工具,它包含了MyBatis的所有特性,并在其...
Spring Boot Starter MyBatis是Spring Boot为MyBatis提供的一站式解决方案,它包含了MyBatis、MyBatis-Spring以及相关的依赖,使得开发者可以快速地在Spring Boot项目中引入MyBatis功能。 2. **集成步骤** - **...