From eca1c2ce8506dfd5ad8f94235382b666ea831dfd Mon Sep 17 00:00:00 2001 From: zhaowenxuan <chacca165@163.com> Date: 星期六, 08 二月 2025 17:58:19 +0800 Subject: [PATCH] 动态切换数据库实现 --- ltkj-framework/src/main/java/com/ltkj/framework/interceptor/DBChangeInterceptor.java | 15 ++++++++++----- 1 files changed, 10 insertions(+), 5 deletions(-) diff --git a/ltkj-framework/src/main/java/com/ltkj/framework/interceptor/DBChangeInterceptor.java b/ltkj-framework/src/main/java/com/ltkj/framework/interceptor/DBChangeInterceptor.java index fc7c7f0..083f6a3 100644 --- a/ltkj-framework/src/main/java/com/ltkj/framework/interceptor/DBChangeInterceptor.java +++ b/ltkj-framework/src/main/java/com/ltkj/framework/interceptor/DBChangeInterceptor.java @@ -6,6 +6,7 @@ import com.google.gson.Gson; import com.ltkj.db.DataSourceConfig; import com.ltkj.db.DataSourceContextHolder; +import com.ltkj.framework.config.DruidConfig; import com.ltkj.hosp.domain.DictHosp; import com.ltkj.hosp.service.IDictHospService; import org.springframework.beans.factory.annotation.Autowired; @@ -30,6 +31,8 @@ private IDictHospService dictHospService; @Autowired private DataSourceConfig dataSourceConfig; +// @Autowired +// private DruidConfig druidConfig; @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws IOException { @@ -40,23 +43,25 @@ response.getWriter().write("{\"message\":\"401锛氭壘涓嶅埌闄㈠尯缂栧彿\"}"); return false; } - DictHosp hosp = null; +// DictHosp hosp = null; try { DataSourceContextHolder.setDataSourceKey("default"); LambdaQueryWrapper<DictHosp> wrapper = new LambdaQueryWrapper<>(); wrapper.eq(DictHosp::getCode,hospId); - hosp = dictHospService.getOne(wrapper); - if (hosp == null || hosp.getDatabase() == null || hosp.getDatabase().trim().isEmpty()) { + DictHosp hosp = dictHospService.getOne(wrapper); + if (hosp == null || hosp.getDbname() == null || hosp.getDbname().trim().isEmpty()) { response.setStatus(HttpServletResponse.SC_UNAUTHORIZED); response.setContentType("application/json;charset=UTF-8"); response.getWriter().write("{\"message\":\"401锛氭壘涓嶅埌闄㈠尯鏁版嵁\"}"); return false; } - dataSourceConfig.addDataSource(hosp.getDatabase()); + dataSourceConfig.addDataSource(hosp.getDbname()); +// druidConfig.addDataSource(hosp.getDbname()); + DataSourceContextHolder.setDataSourceKey(hosp.getDbname()); } catch (IOException e) { return false; } - DataSourceContextHolder.setDataSourceKey(hosp.getDatabase()); + return true; } -- Gitblit v1.8.0