|
@@ -1,69 +0,0 @@
|
|
|
-package org.hsweb.web.dao.impl.mybatis.config;
|
|
|
-
|
|
|
-import org.apache.commons.logging.Log;
|
|
|
-import org.apache.commons.logging.LogFactory;
|
|
|
-import org.apache.ibatis.session.SqlSessionFactory;
|
|
|
-import org.mybatis.spring.SqlSessionFactoryBean;
|
|
|
-import org.mybatis.spring.annotation.MapperScan;
|
|
|
-import org.springframework.boot.autoconfigure.AutoConfigureAfter;
|
|
|
-import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
|
|
|
-import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
|
|
|
-import org.springframework.boot.bind.RelaxedPropertyResolver;
|
|
|
-import org.springframework.context.EnvironmentAware;
|
|
|
-import org.springframework.context.annotation.Bean;
|
|
|
-import org.springframework.context.annotation.Configuration;
|
|
|
-import org.springframework.context.annotation.EnableAspectJAutoProxy;
|
|
|
-import org.springframework.core.env.Environment;
|
|
|
-import org.springframework.core.io.DefaultResourceLoader;
|
|
|
-import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
|
|
|
-import org.springframework.jdbc.datasource.DataSourceTransactionManager;
|
|
|
-import org.springframework.transaction.annotation.EnableTransactionManagement;
|
|
|
-
|
|
|
-import javax.annotation.Resource;
|
|
|
-import javax.sql.DataSource;
|
|
|
-
|
|
|
-/**
|
|
|
- * 获取第二个数据库的连接信息,在application.yml中配置,并指定特定的前缀
|
|
|
- */
|
|
|
-@Configuration
|
|
|
-@ConditionalOnClass({EnableTransactionManagement.class})
|
|
|
-@AutoConfigureAfter({DataBaseConfiguration.class})
|
|
|
-@MapperScan(basePackages = {"org.hsweb.web.dao"})
|
|
|
-@EnableAspectJAutoProxy(proxyTargetClass = true)
|
|
|
-public class MybatisConfiguration implements EnvironmentAware {
|
|
|
- private static Log logger = LogFactory.getLog(MybatisConfiguration.class);
|
|
|
-
|
|
|
- private RelaxedPropertyResolver propertyResolver;
|
|
|
-
|
|
|
- @Resource(name = "dataSource")
|
|
|
- private DataSource dataSource;
|
|
|
-
|
|
|
- @Override
|
|
|
- public void setEnvironment(Environment environment) {
|
|
|
- this.propertyResolver = new RelaxedPropertyResolver(environment, "mybatis.");
|
|
|
- }
|
|
|
-
|
|
|
- @Bean
|
|
|
- @ConditionalOnMissingBean
|
|
|
- public SqlSessionFactory sqlSessionFactory() {
|
|
|
- try {
|
|
|
- SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean();
|
|
|
- sessionFactory.setDataSource(dataSource);
|
|
|
- sessionFactory.setTypeAliasesPackage(propertyResolver.getProperty("typeAliasesPackage"));
|
|
|
- sessionFactory.setMapperLocations(new PathMatchingResourcePatternResolver().getResources(propertyResolver.getProperty("mapperLocations")));
|
|
|
- sessionFactory.setConfigLocation(new DefaultResourceLoader().getResource(propertyResolver.getProperty("configLocation")));
|
|
|
- return sessionFactory.getObject();
|
|
|
- } catch (Exception e) {
|
|
|
- logger.error("Could not confiure mybatis session factory", e);
|
|
|
- return null;
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- @Bean
|
|
|
- @ConditionalOnMissingBean
|
|
|
- public DataSourceTransactionManager transactionManager() {
|
|
|
- return new DataSourceTransactionManager(dataSource);
|
|
|
- }
|
|
|
-}
|