Commit ecb38158 by fengshuonan

修改多数据源

parent 3fad343b
...@@ -28,7 +28,6 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; ...@@ -28,7 +28,6 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
import org.springframework.jdbc.datasource.DataSourceTransactionManager;
import org.springframework.transaction.annotation.EnableTransactionManagement; import org.springframework.transaction.annotation.EnableTransactionManagement;
import java.sql.SQLException; import java.sql.SQLException;
...@@ -44,16 +43,31 @@ import java.util.HashMap; ...@@ -44,16 +43,31 @@ import java.util.HashMap;
*/ */
@Configuration @Configuration
@ConditionalOnProperty(prefix = "guns.muti-datasource", name = "open", havingValue = "true") @ConditionalOnProperty(prefix = "guns.muti-datasource", name = "open", havingValue = "true")
@EnableTransactionManagement(order = 2) @EnableTransactionManagement(order = 2, proxyTargetClass = true)
@MapperScan(basePackages = {"cn.stylefeng.guns.modular.*.dao", "cn.stylefeng.guns.multi.mapper"}) @MapperScan(basePackages = {"cn.stylefeng.guns.modular.*.dao", "cn.stylefeng.guns.multi.mapper"})
public class MultiDataSourceConfig { public class MultiDataSourceConfig {
/**
* druid配置
*/
@Bean
@ConfigurationProperties(prefix = "spring.datasource")
public DruidProperties druidProperties() {
return new DruidProperties();
}
/**
* 多数据源配置
*/
@Bean @Bean
@ConfigurationProperties(prefix = "guns.muti-datasource") @ConfigurationProperties(prefix = "guns.muti-datasource")
public MutiDataSourceProperties mutiDataSourceProperties() { public MutiDataSourceProperties mutiDataSourceProperties() {
return new MutiDataSourceProperties(); return new MutiDataSourceProperties();
} }
/**
* 多数据源切换的aop
*/
@Bean @Bean
public MultiSourceExAop multiSourceExAop() { public MultiSourceExAop multiSourceExAop() {
return new MultiSourceExAop(); return new MultiSourceExAop();
...@@ -126,15 +140,4 @@ public class MultiDataSourceConfig { ...@@ -126,15 +140,4 @@ public class MultiDataSourceConfig {
public OptimisticLockerInterceptor optimisticLockerInterceptor() { public OptimisticLockerInterceptor optimisticLockerInterceptor() {
return new OptimisticLockerInterceptor(); return new OptimisticLockerInterceptor();
} }
/**
* 事务配置
*
* @author stylefeng
* @Date 2018/6/27 23:11
*/
@Bean
public DataSourceTransactionManager dataSourceTransactionManager(DynamicDataSource mutiDataSource) {
return new DataSourceTransactionManager(mutiDataSource);
}
} }
...@@ -22,6 +22,7 @@ import com.baomidou.mybatisplus.plugins.OptimisticLockerInterceptor; ...@@ -22,6 +22,7 @@ import com.baomidou.mybatisplus.plugins.OptimisticLockerInterceptor;
import com.baomidou.mybatisplus.plugins.PaginationInterceptor; import com.baomidou.mybatisplus.plugins.PaginationInterceptor;
import org.mybatis.spring.annotation.MapperScan; import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
import org.springframework.transaction.annotation.EnableTransactionManagement; import org.springframework.transaction.annotation.EnableTransactionManagement;
...@@ -39,6 +40,15 @@ import org.springframework.transaction.annotation.EnableTransactionManagement; ...@@ -39,6 +40,15 @@ import org.springframework.transaction.annotation.EnableTransactionManagement;
public class SingleDataSourceConfig { public class SingleDataSourceConfig {
/** /**
* druid配置
*/
@Bean
@ConfigurationProperties(prefix = "spring.datasource")
public DruidProperties druidProperties() {
return new DruidProperties();
}
/**
* 单数据源连接池配置 * 单数据源连接池配置
*/ */
@Bean @Bean
......
...@@ -26,12 +26,4 @@ public interface TestService { ...@@ -26,12 +26,4 @@ public interface TestService {
*/ */
void testGuns(); void testGuns();
/**
* 测试多数据源的业务
*
* @author stylefeng
* @Date 2017/6/23 23:02
*/
void testAll();
} }
...@@ -40,13 +40,4 @@ public class TestServiceImpl implements TestService { ...@@ -40,13 +40,4 @@ public class TestServiceImpl implements TestService {
test.setBbb("gunsTest"); test.setBbb("gunsTest");
testMapper.insert(test); testMapper.insert(test);
} }
@Override
@Transactional
public void testAll() {
testBiz();
testGuns();
//int i = 1 / 0;
}
} }
...@@ -14,14 +14,12 @@ import org.springframework.beans.factory.annotation.Autowired; ...@@ -14,14 +14,12 @@ import org.springframework.beans.factory.annotation.Autowired;
public class BizTest extends BaseJunit { public class BizTest extends BaseJunit {
@Autowired @Autowired
TestService testService; private TestService testService;
@Test @Test
public void test() { public void test() {
testService.testGuns(); testService.testGuns();
testService.testBiz(); testService.testBiz();
//testService.testAll();
} }
} }
/*
Navicat Premium Data Transfer
Source Server : localhost
Source Server Type : MySQL
Source Server Version : 50719
Source Host : localhost:3306
Source Schema : guns
Target Server Type : MySQL
Target Server Version : 50719
File Encoding : 65001
Date: 10/07/2018 14:09:19
*/
DROP DATABASE IF EXISTS guns_test; DROP DATABASE IF EXISTS guns_test;
CREATE DATABASE IF NOT EXISTS guns_test DEFAULT CHARSET utf8 COLLATE utf8_general_ci; CREATE DATABASE IF NOT EXISTS guns_test DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
......
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