Spring Boot多資料來源配置

2021-08-10 04:49:46 字數 2425 閱讀 5631

方案實現

新建兩個配置類(即加@configuration註解的類),乙個為primarydatasourceconfig,用來配置本專案的資料來源;另乙個叫seconddatasourceconfig,用來配置需要同步的資料來源。**如下:

@configuration

public

class

primarydatasourceconfig

}@configuration

public

class

seconddatasourceconfig

}再新建兩個配置類,來配置entitymanager與jdbctemplate。**如下:

@configuration

@enabletransactionmanagement(proxytargetclass = true)//開啟註解管理方式

@enablejparepositories(entitymanage***ctoryref = "entitymanage***ctoryprimary",//指定localcontainerentitymanage***ctorybean

transactionmanagerref = "transactionmanagerprimary",//指定使用哪個entitymanager

basepackages = )//指定該資料來源對於的model包

public

class

repositoryprimaryconfig

@bean(name = "entitymanage***ctoryprimary")

@primary

public localcontainerentitymanage***ctorybean entitymanage***ctory(

entitymanage***ctorybuilder builder)

private mapgetvendorproperties(datasource datasource)

@bean(name = "transactionmanagerprimary")

@primary

platformtransactionmanager transactionmanager(

entitymanage***ctorybuilder builder)

@bean

@primary

public jdbctemplate primaryjdbctemplate(datasource datasource)

}@configuration

@enabletransactionmanagement(proxytargetclass = true)

@enablejparepositories(entitymanage***ctoryref = "entitymanage***ctorysecond",

transactionmanagerref = "transactionmanagersecond",

basepackages = )

public

class

repositorysecondconfig

@bean(name = "entitymanage***ctorysecond")

public localcontainerentitymanage***ctorybean entitymanage***ctory(

entitymanage***ctorybuilder builder)

private mapgetvendorproperties(datasource datasource)

@bean(name = "transactionmanagersecond")

platformtransactionmanager transactionmanager(

entitymanage***ctorybuilder builder)

@bean(name = "secondjdbctemplate")

public jdbctemplate jdbctemplate(

@qualifier("seconddatasource") datasource datasource)

}

當使用第二個資料來源的時候,@autowired時用@qualifier指定第二個資料來源即可。例如要注入jdbctemplate。

@autowired

@qualifier("secondjdbctemplate")

private jdbctemplate jdbctemplate;

如果沒有@qualifier("secondjdbctemplate"),預設指定primary資料來源。

paoding rose jade多資料來源配置

官網文件沒有相關的說明,所以費了些勁,但是確實很簡單,發出來,希望能幫助到有需要的人 class org.springframework.jdbc.datasource.drivermanagerdatasource name driverclassname value com.mysql.jdbc...

springboot整合多資料來源

多資料來源產生的問題 事物管理 在實際專案中,怎麼樣搭建多資料來源 區分資料來源 舉個例子 2個資料來源 test001 test002 1 分包結構 com.baidu.test001 訪問test001資料庫 daoservice com.baidu.test002 訪問test002資料庫 d...

SpringBoot配置多資料來源

專案中用到了兩個資料庫,分別是oracle和mysql,涉及到了多資料來源問題,這裡做下記錄 官方講解 日誌jdbc配置 druid常見問題彙總 spring datasource type com.alibaba.druid.pool.druiddatasource base type com.a...