若依 2.3

This commit is contained in:
RuoYi
2018-08-05 12:49:07 +08:00
parent 92fffea429
commit 127b532825
5 changed files with 50 additions and 43 deletions

View File

@ -12,7 +12,7 @@ import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.framework.aspectj.lang.annotation.Ds; import com.ruoyi.framework.aspectj.lang.annotation.Ds;
import com.ruoyi.framework.datasource.DataSourceContextHolder; import com.ruoyi.framework.datasource.DynamicDataSourceContextHolder;
/** /**
* 多数据源处理 * 多数据源处理
@ -27,12 +27,12 @@ public class DsAspect
protected Logger logger = LoggerFactory.getLogger(getClass()); protected Logger logger = LoggerFactory.getLogger(getClass());
@Pointcut("@annotation(com.ruoyi.framework.aspectj.lang.annotation.Ds)") @Pointcut("@annotation(com.ruoyi.framework.aspectj.lang.annotation.Ds)")
public void dataSourcePointCut() public void dsPointCut()
{ {
} }
@Around("dataSourcePointCut()") @Around("dsPointCut()")
public Object around(ProceedingJoinPoint point) throws Throwable public Object around(ProceedingJoinPoint point) throws Throwable
{ {
MethodSignature signature = (MethodSignature) point.getSignature(); MethodSignature signature = (MethodSignature) point.getSignature();
@ -44,7 +44,7 @@ public class DsAspect
Ds dataSource = method.getAnnotation(Ds.class); Ds dataSource = method.getAnnotation(Ds.class);
if (StringUtils.isNotNull(dataSource) && StringUtils.isNotEmpty(dataSource.name())) if (StringUtils.isNotNull(dataSource) && StringUtils.isNotEmpty(dataSource.name()))
{ {
DataSourceContextHolder.setDB(dataSource.name()); DynamicDataSourceContextHolder.setDB(dataSource.name());
} }
} }
@ -54,7 +54,7 @@ public class DsAspect
} }
finally finally
{ {
DataSourceContextHolder.clearDB(); DynamicDataSourceContextHolder.clearDB();
} }
} }
} }

View File

@ -1,35 +0,0 @@
package com.ruoyi.framework.datasource;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* 当前线程数据源
*
* @author ruoyi
*/
public class DataSourceContextHolder
{
public static final Logger log = LoggerFactory.getLogger(DataSourceContextHolder.class);
private static final ThreadLocal<String> contextHolder = new ThreadLocal<>();
// 设置数据源名
public static void setDB(String dbType)
{
log.info("切换到{}数据源", dbType);
contextHolder.set(dbType);
}
// 获取数据源名
public static String getDB()
{
return contextHolder.get();
}
public static void clearDB()
{
contextHolder.remove();
}
}

View File

@ -21,7 +21,7 @@ public class DynamicDataSource extends AbstractRoutingDataSource
@Override @Override
protected Object determineCurrentLookupKey() protected Object determineCurrentLookupKey()
{ {
return DataSourceContextHolder.getDB(); return DynamicDataSourceContextHolder.getDB();
} }
} }

View File

@ -0,0 +1,42 @@
package com.ruoyi.framework.datasource;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* 当前线程数据源
*
* @author ruoyi
*/
public class DynamicDataSourceContextHolder
{
public static final Logger log = LoggerFactory.getLogger(DynamicDataSourceContextHolder.class);
private static final ThreadLocal<String> CONTEXT_HOLDER = new ThreadLocal<>();
/**
* 设置数据源名
*/
public static void setDB(String dbType)
{
log.info("切换到{}数据源", dbType);
CONTEXT_HOLDER.set(dbType);
}
/**
* 获取数据源名
*/
public static String getDB()
{
return CONTEXT_HOLDER.get();
}
/**
* 清理数据源名
*/
public static void clearDB()
{
CONTEXT_HOLDER.remove();
}
}

View File

@ -69,7 +69,7 @@ public interface PostMapper
/** /**
* 校验岗位名称 * 校验岗位名称
* *
* @param post 岗位信息 * @param postName 岗位名称
* @return 结果 * @return 结果
*/ */
public Post checkPostNameUnique(String postName); public Post checkPostNameUnique(String postName);
@ -77,7 +77,7 @@ public interface PostMapper
/** /**
* 校验岗位编码 * 校验岗位编码
* *
* @param post 岗位信息 * @param postCode 岗位编码
* @return 结果 * @return 结果
*/ */
public Post checkPostCodeUnique(String postCode); public Post checkPostCodeUnique(String postCode);