Commit 9fd44ce0 by liqiuwei

调整mybaties

parent a454c76d
...@@ -2,6 +2,7 @@ package com.secoo.mall.mybatis.spring.boot.autoconfigure; ...@@ -2,6 +2,7 @@ package com.secoo.mall.mybatis.spring.boot.autoconfigure;
import com.baomidou.mybatisplus.autoconfigure.MybatisPlusAutoConfiguration; import com.baomidou.mybatisplus.autoconfigure.MybatisPlusAutoConfiguration;
import com.baomidou.mybatisplus.core.MybatisConfiguration; import com.baomidou.mybatisplus.core.MybatisConfiguration;
import com.baomidou.mybatisplus.core.config.GlobalConfig;
import com.ctrip.framework.apollo.spring.boot.ApolloAutoConfiguration; import com.ctrip.framework.apollo.spring.boot.ApolloAutoConfiguration;
import com.secoo.mall.datasource.bean.MatrixDataSource; import com.secoo.mall.datasource.bean.MatrixDataSource;
import com.secoo.mall.datasource.factory.DataSourceFactory; import com.secoo.mall.datasource.factory.DataSourceFactory;
...@@ -29,6 +30,7 @@ import org.springframework.context.annotation.Configuration; ...@@ -29,6 +30,7 @@ import org.springframework.context.annotation.Configuration;
import org.springframework.util.ObjectUtils; import org.springframework.util.ObjectUtils;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
import javax.annotation.Resource;
import javax.sql.DataSource; import javax.sql.DataSource;
import java.util.Optional; import java.util.Optional;
...@@ -39,41 +41,27 @@ import java.util.Optional; ...@@ -39,41 +41,27 @@ import java.util.Optional;
@AutoConfigureAfter(ApolloAutoConfiguration.class) @AutoConfigureAfter(ApolloAutoConfiguration.class)
@Slf4j @Slf4j
public class MatrixMybatisAutoConfiguration { public class MatrixMybatisAutoConfiguration {
@Setter
private MatrixDataSourceBootProperties matrixDataSourceBootProperties;
@Autowired @Resource
private MatrixMybatisBootProperties properties; private MatrixMybatisBootProperties properties;
public MatrixMybatisAutoConfiguration() { public MatrixMybatisAutoConfiguration() {
log.info("Init MatrixDataSouceAutoConfiguration"); log.info("Init MatrixMybatisAutoConfiguration");
} }
/**
* 如果没有声明,则使用默认的
*
* @return
*/
@Bean
@ConditionalOnMissingBean(DataSource.class)
public DataSource dataSource() {
return new MatrixDataSource("default");
}
@Bean @Bean
@ConditionalOnMissingBean(SqlSessionFactory.class) @ConditionalOnMissingBean(SqlSessionFactory.class)
public SqlSessionFactory sqlSessionFactory(DataSource dataSource) throws Exception { public SqlSessionFactory sqlSessionFactory(DataSource dataSource, MatrixMybatisGlobalConfig globalConfig, MybatisConfiguration mybatisConfiguration) throws Exception {
MybatisConfiguration mybatisConfiguration = Optional.ofNullable(properties.getConfiguration()).orElse(matrixMybatisConfig());
MatrixMybatisGlobalConfig globalConfig = Optional.ofNullable(properties.getGlobalConfig()).orElse(matrixMybatisGlobalConfig());
MatrixMybatisSqlSessionFactoryBean factory = new MatrixMybatisSqlSessionFactoryBean(); 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); if (this.properties.getConfigurationProperties() != null) {
this.properties.setMapperLocations(mapperLocations); factory.setConfigurationProperties(this.properties.getConfigurationProperties());
}
if (this.properties.getConfigurationProperties() != null) { if (this.properties.getConfigurationProperties() != null) {
factory.setConfigurationProperties(this.properties.getConfigurationProperties()); factory.setConfigurationProperties(this.properties.getConfigurationProperties());
...@@ -102,13 +90,16 @@ public class MatrixMybatisAutoConfiguration { ...@@ -102,13 +90,16 @@ public class MatrixMybatisAutoConfiguration {
return factory.getObject(); return factory.getObject();
} }
@Bean
public MatrixMybatisGlobalConfig matrixMybatisGlobalConfig() { @ConditionalOnMissingBean(GlobalConfig.class)
public MatrixMybatisGlobalConfig globalConfig() {
MatrixMybatisGlobalConfig globalConfig = new MatrixMybatisGlobalConfig(); MatrixMybatisGlobalConfig globalConfig = new MatrixMybatisGlobalConfig();
return globalConfig; return globalConfig;
} }
public MatrixMybatisConfiguration matrixMybatisConfig() { @Bean
@ConditionalOnMissingBean(MybatisConfiguration.class)
public MatrixMybatisConfiguration mybatisConfiguration() {
MatrixMybatisConfiguration config = new MatrixMybatisConfiguration(); MatrixMybatisConfiguration config = new MatrixMybatisConfiguration();
return config; return config;
} }
......
...@@ -77,6 +77,11 @@ ...@@ -77,6 +77,11 @@
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.secoo.mall</groupId> <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> <artifactId>matrix-mybatis-starter</artifactId>
<version>2.0.1-SNAPSHOT</version> <version>2.0.1-SNAPSHOT</version>
</dependency> </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