多数据源,在mapper类里面使用@DS切换数据源查询时,会提前查询blade_data_scope,在切换目标数据库没有基础表结构,如何解决?谢谢
1. 如果用的boot版本,需要复制拷贝一份BladeScopeModelHandler,比如命名为BladeScopeModelHandlerMaster,拷贝到boot工程一个用于生效配置类的包。然后在类上加上DS("master")的注解。同时再到config类初始化,这样逻辑就会走自定义的这个数据权限查询类,也就只会锁定到master库来查询了。
@DS("master") @RequiredArgsConstructor public class BladeScopeModelHandlerMaster implements ScopeModelHandler { ...... }
@Configuration(proxyBeanMethods = false) public class BladeScopeConfiguration { @Bean public ScopeModelHandler scopeModelHandler() { return new BladeScopeModelHandlerMaster(jdbcTemplate); } }
2. 如果用的cloud版本,则在对应服务引入blade-scope-api便可
3. 更多说明请看:https://sns.bladex.cn/q-591.html
扫一扫访问 Blade技术社区 移动端