1. 程式人生 > >ssm多資料來源多事物配置

ssm多資料來源多事物配置

       最近有個需求是要為專案配置多個數據源,就此看了一下資料,做出了一個Demo,在此分享一下。

       如何新增多個數據源?

       專案的資料來源是在spring的配置檔案中配置的,同樣也是使用spring的事務來管理。資料來源配置如下

       

       需要注意的是,跟普通的資料來源配置不一樣的是:在配置MapperScannerConfigurer的時候,多配置了一個annotationClass屬性,這個屬性的值是一個自定義的註解。配置這個屬性的意義在於,在掃描dao資料夾下面的介面和xml檔案的時候,通過識別這個註解來決定使用哪個資料來源。換句話說,就是決定使用資料來源,只需要在介面檔案加一個自定義的註解就可以了。

       

      這個註解的作用只是為了標註這個介面是使用哪個資料來源,程式碼如下

      

      例如:希望指定DemoMapper.xml這個對映檔案的資料來源,那麼只需要在DemoMapper對應的介面檔案中新增相應的資料來源註解(這裡指定的@TestEnvirRepository這個註解對應的資料來源)

      

     這樣,資料來源配置就完成了,需要新增多一個數據源的時候,只需要copy一樣資料來源配置,然後自定義好相應的註解,並用註解來指定介面的資料來源就OK了

     如何為相應的service方法配置相應的事務去處理?

     其實,很簡單,只需要在@Transactional註解後面新增屬性值就可以了,該屬性值的值為DataSourceTransactionManager類的id值

     

     

     參考資料:多資料來源案例  多事務配置