SpringBoot整合JPA多數據源


一、創建項目並導入依賴

   

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-data-jpa</artifactId>

</dependency>

   

<dependency>

<groupId>com.alibaba</groupId>

<artifactId>druid-spring-boot-starter</artifactId>

<version>1.1.10</version>

</dependency>

   

<dependency>

<groupId>mysql</groupId>

<artifactId>mysql-connector-java</artifactId>

<scope>runtime</scope>

<version>5.1.27</version>

</dependency>

   

   

二、相關配置

   

Application.proteries

   

spring.datasource.one.type=com.alibaba.druid.pool.DruidDataSource

spring.datasource.one.username=root

spring.datasource.one.password=123

spring.datasource.one.url=jdbc:mysql://127.0.0.1:3306/jpa?useUnicode=true&characterEncoding=utf8&useSSL=true&serverTimezone=GMT

   

spring.datasource.two.type=com.alibaba.druid.pool.DruidDataSource

spring.datasource.two.username=root

spring.datasource.two.password=123

spring.datasource.two.url=jdbc:mysql://127.0.0.1:3306/jpa2?useUnicode=true&characterEncoding=utf8&useSSL=true&serverTimezone=GMT

   

spring.jpa.properties.show-sql=true

spring.jpa.properties.database=mysql

spring.jpa.properties.database-platform=mysql

spring.jpa.properties.hibernate.ddl-auto=update

spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL57Dialect

   

   

   

DataSourceConfig.class

   

   

注:必須指定一個@Primary

   

JpaConfigOne.class

   

   

   

@Primary

表示當某一個類存在多個實例時,優先使用哪個實例。

  

Properties()

JpaProperties是系統提供的一個實例,里邊的數據就是我們在application.properties中配置的jpa相關的配置

packages()

這里的packages指定的包就是這個數據源對應的實體類所在的位置

persistenceUnit()

相當於為這個配置取一個別名

   

   

JpaConfigTwo.class

   

   

注:這個沒有@primary

   

   

   

Pojo層

   

   

   

Dao1和Dao2層

   

   

   

   

Controller層

   

   

   


免責聲明!

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



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