关于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方法不能够正确执行,将找不到数据源