在MyBatis-Plus整合dynamic-datasource @DS失效


因為是事務導致的

 

解決方案:

1.刪除事務

2.使用分布式事務

3.修改事務的傳播機制

3.使用DS的本地事務 @DSTransactional 但切記不可和Spring的事務共存

 

附傳播機制

事務傳播行為類型

                        
                        

說明

                        
                        

PROPAGATION_REQUIRED

                        
                        

如果當前沒有事務,就新建一個事務,如果已經存在一個事務中,加入到這個事務中。這是最常見的選擇。

                        
                        

PROPAGATION_SUPPORTS

                        
                        

支持當前事務,如果當前沒有事務,就以非事務方式執行。

                        
                        

PROPAGATION_MANDATORY

                        
                        

使用當前的事務,如果當前沒有事務,就拋出異常。

                        
                        

PROPAGATION_REQUIRES_NEW

                        
                        

新建事務,如果當前存在事務,把當前事務掛起。

                        
                        

PROPAGATION_NOT_SUPPORTED

                        
                        

以非事務方式執行操作,如果當前存在事務,就把當前事務掛起。

                        
                        

PROPAGATION_NEVER

                        
                        

以非事務方式執行,如果當前存在事務,則拋出異常。

                        
                        

PROPAGATION_NESTED

                        
                        

如果當前存在事務,則在嵌套事務內執行。如果當前沒有事務,則執行與PROPAGATION_REQUIRED類似的操作。

                        


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM