@ConditionalOnProperty(prefix="mybatis",
value="enabled",
matchIfMissing=true)
@EnableConfigurationProperties(value=MybatisProperties.class)
@ConditionalOnClass(value={org.apache.ibatis.session.SqlSessionFactory.class,org.mybatis.spring.SqlSessionFactoryBean.class})
@ConditionalOnBean(value=javax.sql.DataSource.class)
@AutoConfigureAfter(value=org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration.class)
@Configuration
public class MybatisAutoConfiguration
extends Object
| Modifier and Type | Class and Description |
|---|---|
static class |
MybatisAutoConfiguration.AutoConfiguredMapperScannerRegistrar
This will just scan the same base package as Spring Boot does.
|
static class |
MybatisAutoConfiguration.AutoConfiguredMapperScannerRegistrar2
自动扫描 Mapper Interface
|
static class |
MybatisAutoConfiguration.MapperScannerRegistrarNotFoundConfiguration
MapperScan ultimately ends up
creating instances of MapperFactoryBean. |
| Constructor and Description |
|---|
MybatisAutoConfiguration(MybatisProperties properties,
org.springframework.beans.factory.ObjectProvider<org.apache.ibatis.plugin.Interceptor[]> interceptorsProvider,
org.springframework.beans.factory.ObjectProvider<List<ConfigurationCustomizer>> configurationCustomizersProvider,
org.springframework.context.ApplicationContext applicationContext,
org.springframework.core.io.ResourceLoader resourceLoader)
初始化 MyBatis Spring Boot 项目自动配置
|
| Modifier and Type | Method and Description |
|---|---|
static void |
applyConfiguration(org.mybatis.spring.SqlSessionFactoryBean factory,
MybatisProperties properties,
List<ConfigurationCustomizer> configurationCustomizers)
为 SqlSessionFactory 配置"自定义配置"插件
|
static void |
applyPlugins(org.springframework.context.ApplicationContext applicationContext,
org.mybatis.spring.SqlSessionFactoryBean factory,
org.apache.ibatis.plugin.Interceptor[] interceptors)
为 SqlSessionFactory 配置 Mybatis 拦截器插件
|
void |
checkConfigFileExists()
检查配置文件是否存在。当前对象被 Spring 创建之后,会调用此方法。
|
static org.mybatis.spring.SqlSessionFactoryBean |
createSqlSessionFactoryBean(org.springframework.context.ApplicationContext applicationContext,
org.springframework.core.io.ResourceLoader resourceLoader,
DataSource dataSource,
MybatisProperties properties,
List<ConfigurationCustomizer> configurationCustomizers,
org.apache.ibatis.plugin.Interceptor[] interceptors)
创建 SqlSessionFactory
|
static org.mybatis.spring.SqlSessionTemplate |
createSqlSessionTemplate(org.apache.ibatis.session.SqlSessionFactory sqlSessionFactory,
MybatisProperties properties)
创建 SqlSessionTemplate
|
MapperInterfaceRegister |
mapperInterfaceRegister()
初始化通用 Mapper 接口注册器
|
org.apache.ibatis.session.SqlSessionFactory |
sqlSessionFactory(DataSource dataSource)
初始化 SqlSessionFactory
|
org.mybatis.spring.SqlSessionTemplate |
sqlSessionTemplate(org.apache.ibatis.session.SqlSessionFactory sqlSessionFactory)
初始化 SqlSessionTemplate
|
public MybatisAutoConfiguration(MybatisProperties properties, org.springframework.beans.factory.ObjectProvider<org.apache.ibatis.plugin.Interceptor[]> interceptorsProvider, org.springframework.beans.factory.ObjectProvider<List<ConfigurationCustomizer>> configurationCustomizersProvider, org.springframework.context.ApplicationContext applicationContext, org.springframework.core.io.ResourceLoader resourceLoader)
properties - MyBatis Spring Boot项目配置属性interceptorsProvider - Mybatis Interceptor Spring Bean【可选】configurationCustomizersProvider - 自定义配置 Spring Bean【可选】applicationContext - Spring Application ContextresourceLoader - resource loader@PostConstruct public void checkConfigFileExists()
@Bean @ConditionalOnMissingBean public org.apache.ibatis.session.SqlSessionFactory sqlSessionFactory(DataSource dataSource) throws Exception
dataSource - 数据源Exception - 异常信息public static org.mybatis.spring.SqlSessionFactoryBean createSqlSessionFactoryBean(org.springframework.context.ApplicationContext applicationContext,
org.springframework.core.io.ResourceLoader resourceLoader,
DataSource dataSource,
MybatisProperties properties,
List<ConfigurationCustomizer> configurationCustomizers,
org.apache.ibatis.plugin.Interceptor[] interceptors)
applicationContext - 自定义配置 Spring Bean【可选】resourceLoader - resource loaderdataSource - 数据源properties - MyBatis Spring Boot项目配置属性configurationCustomizers - 自定义配置 Spring Bean【可选】interceptors - Mybatis Interceptor Spring Bean【可选】public static void applyPlugins(org.springframework.context.ApplicationContext applicationContext,
org.mybatis.spring.SqlSessionFactoryBean factory,
org.apache.ibatis.plugin.Interceptor[] interceptors)
applicationContext - 自定义配置 Spring Bean【可选】factory - SqlSessionFactory 实例对象interceptors - Mybatis Interceptor 实例对象【可选】public static void applyConfiguration(org.mybatis.spring.SqlSessionFactoryBean factory,
MybatisProperties properties,
List<ConfigurationCustomizer> configurationCustomizers)
factory - SqlSessionFactory 实例对象properties - MyBatis Spring Boot项目配置属性configurationCustomizers - 自定义配置【可选】@Bean @ConditionalOnMissingBean public org.mybatis.spring.SqlSessionTemplate sqlSessionTemplate(org.apache.ibatis.session.SqlSessionFactory sqlSessionFactory)
sqlSessionFactory - SqlSessionFactory 实例对象public static org.mybatis.spring.SqlSessionTemplate createSqlSessionTemplate(org.apache.ibatis.session.SqlSessionFactory sqlSessionFactory,
MybatisProperties properties)
sqlSessionFactory - SqlSessionFactory 实例对象properties - MyBatis Spring Boot项目配置属性@Bean @ConditionalOnMissingBean public MapperInterfaceRegister mapperInterfaceRegister()
Copyright © 2018–2020. All rights reserved.