关于mybaitsPlus的多数据源切换注解@DS的注意事项

 1 Service A(){  
 2 
 3     function startFunction(){
 4        B.testOne();
 5     
 6        C.testTwo();
 7     }
 8     
 9 }
10 
11 
12 Service B(){
13     @DS("First")
14     testOne(){
15         //具体使用数据源First的查询
16     }
17 
18 }
19 
20 
21 Service C(){
22 
23     @DS("Second")
24     testTwo(){
25         testThrid();
26     }
27     
28    testThird(){
29         //具体使用数据源Second的查询
30     }
31     
32 }                    

最近项目中使用到了多数据源切换,经过测试发现该注解需要标注在程序的入口处,举例如上面所示。

1.在同一个方法中不能同时使用两种数据源,需要使用的化要将代码抽成独立方法。例如上面不能在testOne方法中调用testThird方法,因为testOne中已经使用了数据源First,不能在方法内部在切换成数据源Second。但是startFunction中就可以调用这两个方法,因为这两个方法相互独立。

2.需要在方法的入口处切换数据源,即我们需要在testTwo方法上制定切换成数据源Second,才能成功的在startFunction中获取到应有的数据,如果只在testThird方法切换数据源,但是testTwo方法上没有切换则startFunction中调用的testTwo方法不能够正确执行,将找不到数据源

 

posted @ 2021-04-10 19:17  清风随心  阅读(1785)  评论(0编辑  收藏  举报