jpa多資料來源配置

2021-10-07 13:26:30 字數 1774 閱讀 2386

因為本人在學習jpa多資料來源配置的時候,查到很多資料,發現裡面有些小的坑很多文章沒有寫出來,導致花費冤枉時間,因此寫了這篇文章,以供後來者學習是不必重複的採坑。

spring:

datasource:

test1:

password: ****

username: root

jdbc-url: jdbc:mysql://localhost:3306/**?useunicode=true&characterencoding=utf-8&usessl=false&servertimezone=utc

driver-class-name: com.mysql.cj.jdbc.driver

test2:

password: ****

username: root

jdbc-url: jdbc:mysql://localhost:3306/***?useunicode=true&characterencoding=utf-8&usessl=false&servertimezone=utc

driver-class-name: com.mysql.cj.jdbc.driver

jpa:

database-platform: org.hibernate.dialect.mysqldialect //設定方言,這個為必須設定項

show-sql: true

配置資料來源是不能有url,要用jdbc-url,否則會報錯

註冊datasource

@configuration

public class datasource

/*** 返回data2資料庫的資料來源

* @return

*/@qualifier(

"datasource2"

) @bean(name=

"datasource2"

) @configurationproperties(prefix =

"spring.datasource.test2"

) public datasource datasource2()}

@configuration

@enablejparepositories(basepackages =

"com.project.datasource.repositry1",//dao層檔案路徑

entitymanage***ctoryref =

"entitymanage***ctoryprimary1",

transactionmanagerref =

"transactionmanagerprimary1"

)public class datasource1

@primary

@bean(name=

"entitymanage***ctoryprimary1"

) public localcontainerentitymanage***ctorybean entitymanage***ctorybean(

entitymanage***ctorybuilder builder)

@primary

@bean(name=

"transactionmanagerprimary1"

) public platformtransactionmanager transactionmanager(entitymanage***ctorybuilder builder)

}

spring mvc 多資料來源配置

首先配置兩個資料庫 2 再配置乙個datasource 管理 key 值和value值對應,預設選擇datasourcea 其他配置按照正常的spring mvc 配置即可。3 sessionfactory 中使用 datasource做資料來源。4 新建乙個dynamicdatasource類繼承...

spring多資料來源配置

前段時間由於公司專案需求,需要多資料來源的支援,苦b折騰了兩天程式猿,話不多說,直接擼碼。classpath jdbc.properties select 1 true select 1 true org.hibernate.dialect.mysqldialect false update tru...

spring 多資料來源配置

以下是我的xml配置,在配置的過程中涉及到不同的包分配不同的資料來源,在這裡用逗號分割就好 當然萬用字元能結局的那是最好了.xmlns xsi xmlns aop xmlns tx xmlns task xmlns context xmlns rabbit xsi schemalocation sp...