您的位置:首页 > 编程语言 > Java开发

Spring+mybatis多数据源切换笔记

2017-11-17 18:41 417 查看
分两种方式,手动和自动切换,

前提:使用mybatis自动生成工具生成相关xml,实体类,接口等,spring框架,依赖的jar包都已引入

1.spring基础配置如下:

@Aspect // for aop
@Component // for auto scan
@Order(0) // execute before @Transactional
public class DynamicChangeDbSource {

@Pointcut("execution(public * com.inventory.ferrari.service.data.ferrari..*.*(..))")
public void invanyMethod() {
};

@Pointcut("execution(public * com.inventory.ferrari.service.data.galaxy..*.*(..))")
public void galaxyanyMethod() {
};

@Before("invanyMethod()")
public void beforeinv(JoinPoint jp) {
Object[] args = jp.getArgs();
if(args==null){
DataSourceTypeManager.set(DataSources.MASTER);
//return;
}
//System.out.println("-------------" + args[0]);
DataSourceTypeManager.set(DataSources.MASTER);
}

@Before("galaxyanyMethod()")
public void beforegalaxy(JoinPoint jp) {
DataSourceTypeManager.set(DataSources.SLAVE);
}

}


View Code
@Order(0) 注解表示在执行sql前就切换数据源
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: