add 增加 Mybatis 全局异常处理 开启多数据源切换 严格模式 找不到数据源报错

2.X
疯狂的狮子Li 3 years ago
parent 6259a5e19f
commit 71ae01a546

@ -23,6 +23,8 @@ spring:
p6spy: true
# 开启seata代理开启后默认每个数据源都代理如果某个不需要代理可单独关闭
seata: true
# 严格模式 匹配不到数据源则报错
strict: true
druid:
initial-size: 5
min-idle: 5

@ -10,6 +10,7 @@ import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.exception.DemoModeException;
import com.ruoyi.common.core.exception.ServiceException;
import lombok.extern.slf4j.Slf4j;
import org.mybatis.spring.MyBatisSystemException;
import org.springframework.dao.DuplicateKeyException;
import org.springframework.validation.BindException;
import org.springframework.web.HttpRequestMethodNotSupportedException;
@ -89,6 +90,21 @@ public class GlobalExceptionHandler {
return R.fail("数据库中已存在该记录,请联系管理员确认");
}
/**
* Mybatis
*/
@ExceptionHandler(MyBatisSystemException.class)
public R<Void> handleCannotFindDataSourceException(MyBatisSystemException e, HttpServletRequest request) {
String requestURI = request.getRequestURI();
String message = e.getMessage();
if (message.contains("CannotFindDataSourceException")) {
log.error("请求地址'{}', 未找到数据源", requestURI);
return R.fail("未找到数据源,请联系管理员确认");
}
log.error("请求地址'{}', Mybatis系统异常", requestURI, e);
return R.fail(message);
}
/**
*
*/

Loading…
Cancel
Save