# spring-dbutil
**Repository Path**: hand515/spring-dbutil
## Basic Information
- **Project Name**: spring-dbutil
- **Description**:  切换spring数据源的工具,使用aop注解方式进行快速切换,减少编码的入侵
- **Primary Language**: Java
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 171
- **Forks**: 84
- **Created**: 2015-04-17
- **Last Updated**: 2025-01-02
## Categories & Tags
**Categories**: database-dev
**Tags**: None
## README
#dbutil 
## 说明
基于Spring的 *AbstractRoutingDataSource* 进行简单的封装,方便进行数据源的切换,目前主要用于主从数据库的读写切换上。
## 使用 
### 添加依赖
	
		com.tanghd.spring
		dbutil
		0.2
	
		
### 配置xml (spring + mybatis)
	
	
	
		
	
		
		
			
				
				
			
...
	
		
### 代码里使用
	public void queryXXX(){
		DynamicDataSource.useSlave();
		try{
			...
		}finally{
			DynamicDataSource.reset();
		}
	}
		
### 扩展项
可以使用Spring-AOP进行扩展,减少对代码的入侵。目前支持Aspect和Spring-AOP方式。
#### Aspect
*	需要依赖spring-aspects、aspectjrt、aspectjweaver
*	spring的xml配置:
		
		
		    
		    
		    
		
		
*	代码示例:
		@DataSourceChange(slave=true)
		public void queryXXX(){
			...
		}
		
#### SpringAOP
不使用aspect,这种方式提供了支持@See DataSourceAdvisor.java,目前还没用到,示例略,只是配置上和Aspect不同,使用方式同样是通过注解来进行改变当前使用的数据源
以下是参考例子: