Commit 9fd44ce0 by liqiuwei

调整mybaties

parent a454c76d
......@@ -2,6 +2,7 @@ package com.secoo.mall.mybatis.spring.boot.autoconfigure;
import com.baomidou.mybatisplus.autoconfigure.MybatisPlusAutoConfiguration;
import com.baomidou.mybatisplus.core.MybatisConfiguration;
import com.baomidou.mybatisplus.core.config.GlobalConfig;
import com.ctrip.framework.apollo.spring.boot.ApolloAutoConfiguration;
import com.secoo.mall.datasource.bean.MatrixDataSource;
import com.secoo.mall.datasource.factory.DataSourceFactory;
......@@ -29,6 +30,7 @@ import org.springframework.context.annotation.Configuration;
import org.springframework.util.ObjectUtils;
import org.springframework.util.StringUtils;
import javax.annotation.Resource;
import javax.sql.DataSource;
import java.util.Optional;
......@@ -39,41 +41,27 @@ import java.util.Optional;
@AutoConfigureAfter(ApolloAutoConfiguration.class)
@Slf4j
public class MatrixMybatisAutoConfiguration {
@Setter
private MatrixDataSourceBootProperties matrixDataSourceBootProperties;
@Autowired
@Resource
private MatrixMybatisBootProperties properties;
public MatrixMybatisAutoConfiguration() {
log.info("Init MatrixDataSouceAutoConfiguration");
log.info("Init MatrixMybatisAutoConfiguration");
}
/**
* 如果没有声明,则使用默认的
*
* @return
*/
@Bean
@ConditionalOnMissingBean(DataSource.class)
public DataSource dataSource() {
return new MatrixDataSource("default");
}
@Bean
@ConditionalOnMissingBean(SqlSessionFactory.class)
public SqlSessionFactory sqlSessionFactory(DataSource dataSource) throws Exception {
MybatisConfiguration mybatisConfiguration = Optional.ofNullable(properties.getConfiguration()).orElse(matrixMybatisConfig());
MatrixMybatisGlobalConfig globalConfig = Optional.ofNullable(properties.getGlobalConfig()).orElse(matrixMybatisGlobalConfig());
public SqlSessionFactory sqlSessionFactory(DataSource dataSource, MatrixMybatisGlobalConfig globalConfig, MybatisConfiguration mybatisConfiguration) throws Exception {
MatrixMybatisSqlSessionFactoryBean factory = new MatrixMybatisSqlSessionFactoryBean();
String aliasesPackage = Optional.ofNullable(this.properties.getTypeAliasesPackage()).orElse(MatrixMybatisProperties.DEFAULT_ALIAS_PACKAGES);
String[] mapperLocations = Optional.ofNullable(this.properties.getMapperLocations()).orElse(MatrixMybatisProperties.DEFAULT_MAPPER_LOCATIONS);
this.properties.setTypeAliasesPackage(aliasesPackage);
this.properties.setMapperLocations(mapperLocations);
if (this.properties.getConfigurationProperties() != null) {
factory.setConfigurationProperties(this.properties.getConfigurationProperties());
}
if (this.properties.getConfigurationProperties() != null) {
factory.setConfigurationProperties(this.properties.getConfigurationProperties());
......@@ -102,13 +90,16 @@ public class MatrixMybatisAutoConfiguration {
return factory.getObject();
}
public MatrixMybatisGlobalConfig matrixMybatisGlobalConfig() {
@Bean
@ConditionalOnMissingBean(GlobalConfig.class)
public MatrixMybatisGlobalConfig globalConfig() {
MatrixMybatisGlobalConfig globalConfig = new MatrixMybatisGlobalConfig();
return globalConfig;
}
public MatrixMybatisConfiguration matrixMybatisConfig() {
@Bean
@ConditionalOnMissingBean(MybatisConfiguration.class)
public MatrixMybatisConfiguration mybatisConfiguration() {
MatrixMybatisConfiguration config = new MatrixMybatisConfiguration();
return config;
}
......
......@@ -77,6 +77,11 @@
</dependency>
<dependency>
<groupId>com.secoo.mall</groupId>
<artifactId>matrix-mybatis-core</artifactId>
<version>2.0.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.secoo.mall</groupId>
<artifactId>matrix-mybatis-starter</artifactId>
<version>2.0.1-SNAPSHOT</version>
</dependency>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment