国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【Spring Boot 3】【數(shù)據(jù)源】自定義JPA多數(shù)據(jù)源

這篇具有很好參考價值的文章主要介紹了【Spring Boot 3】【數(shù)據(jù)源】自定義JPA多數(shù)據(jù)源。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

背景

軟件開發(fā)是一門實踐性科學,對大多數(shù)人來說,學習一種新技術(shù)不是一開始就去深究其原理,而是先從做出一個可工作的DEMO入手。但在我個人學習和工作經(jīng)歷中,每次學習新技術(shù)總是要花費或多或少的時間、檢索不止一篇資料才能得出一個可工作的DEMO,這占用了我大量的時間精力。因此本文旨在通過一篇文章即能還原出可工作的、甚至可用于生產(chǎn)的DEMO,期望初學者能盡快地邁過0到1的這一步驟,并在此基礎上不斷深化對相關(guān)知識的理解。
為達以上目的,本文會將開發(fā)環(huán)境、工程目錄結(jié)構(gòu)、開發(fā)步驟及源碼盡量全面地展現(xiàn)出來,文字描述能簡則簡,能用代碼注釋的絕不在正文中再啰嗦一遍,正文僅對必要且關(guān)鍵的信息做重點描述。

介紹

《【Spring Boot 3】【數(shù)據(jù)源】自定義JDBC多數(shù)據(jù)源》 說明了開發(fā)Spring Boot JDBC應用時如何自定義數(shù)據(jù)源,但在實際開發(fā)工作中,很少再使用JDBC直接進行數(shù)據(jù)庫操作,取而代之的是各種ORM框架。本文介紹使用Spring Data JPA時如何自定義數(shù)據(jù)源。

本文也基于 《【Spring Boot 3】【數(shù)據(jù)源】自定義JPA數(shù)據(jù)源》。

開發(fā)環(huán)境

分類 名稱 版本
操作系統(tǒng) Windows Windows 11
JDK Oracle JDK 21.0.1
IDE IntelliJ IDEA 2023.2.4
構(gòu)建工具 Apache Maven 3.9.3
數(shù)據(jù)庫 MySQL 8.0.33

開發(fā)步驟及源碼

1> 準備2個數(shù)據(jù)源(創(chuàng)建2個數(shù)據(jù)庫)。

  • 數(shù)據(jù)源一
-- 創(chuàng)建第一個數(shù)據(jù)源
CREATE SCHEMA IF NOT EXISTS `db1` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;

-- 創(chuàng)建第一個數(shù)據(jù)源中的數(shù)據(jù)表
CREATE TABLE IF NOT EXISTS `db1`.`product`
(
    `id`    BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '自增主鍵',
    `name`  VARCHAR(100)    NOT NULL COMMENT '產(chǎn)品名稱',
    `price` DECIMAL         NOT NULL COMMENT '產(chǎn)品價格',
    PRIMARY KEY (`id`),
    UNIQUE INDEX `id_UNIQUE` (`id` ASC) VISIBLE
)
    ENGINE = InnoDB
    DEFAULT CHARACTER SET = utf8mb4
    COLLATE = utf8mb4_bin;

-- 創(chuàng)建用戶
DROP USER IF EXISTS 'userA'@'%';
CREATE USER 'userA'@'%' IDENTIFIED BY '123123';

-- 給用戶賦予訪問第一個數(shù)據(jù)源的權(quán)限
GRANT ALL PRIVILEGES ON db1.* TO 'userA'@'%';
  • 數(shù)據(jù)源二
-- 創(chuàng)建第二個數(shù)據(jù)源
CREATE SCHEMA IF NOT EXISTS `db2` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;

-- 創(chuàng)建第二個數(shù)據(jù)源中的數(shù)據(jù)表
CREATE TABLE IF NOT EXISTS `db2`.`customer`
(
    `id`   BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '自增主鍵',
    `name` VARCHAR(100)    NOT NULL COMMENT '顧客名稱',
    `age`  INT             NOT NULL COMMENT '年齡',
    PRIMARY KEY (`id`),
    UNIQUE INDEX `id_UNIQUE` (`id` ASC) VISIBLE
)
    ENGINE = InnoDB
    DEFAULT CHARACTER SET = utf8mb4
    COLLATE = utf8mb4_bin;

-- 創(chuàng)建用戶
DROP USER IF EXISTS 'userB'@'%';
CREATE USER 'userB'@'%' IDENTIFIED BY '456456';

-- 給用戶賦予訪問第二個數(shù)據(jù)源的權(quán)限
GRANT ALL PRIVILEGES ON db2.* TO 'userB'@'%';

2> 創(chuàng)建Maven工程,添加依賴。文章來源地址http://www.zghlxwxcb.cn/news/detail-813423.html

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <parent>
        <groupId>com.jiyongliang</groupId>
        <artifactId>springboot3-datasource</artifactId>
        <version>0.0.1</version>
    </parent>
    <artifactId>springboot3-datasource-jpa-multi</artifactId>

    <properties>
        <java.version>21</java.version>
        <maven.compiler.source>21</maven.compiler.source>
        <maven.compiler.target>21</maven.compiler.target>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <spring-boot.version>3.2.2</spring-boot.version>
        <mysql-connector-j.version>8.3.0</mysql-connector-j.version>
        <lombok.version>1.18.30</lombok.version>
    </properties>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.boot</groupId>

到了這里,關(guān)于【Spring Boot 3】【數(shù)據(jù)源】自定義JPA多數(shù)據(jù)源的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務器費用

相關(guān)文章

  • 【Spring Boot 3】【數(shù)據(jù)源】自定義JDBC多數(shù)據(jù)源

    軟件開發(fā)是一門實踐性科學,對大多數(shù)人來說,學習一種新技術(shù)不是一開始就去深究其原理,而是先從做出一個可工作的DEMO入手。但在我個人學習和工作經(jīng)歷中,每次學習新技術(shù)總是要花費或多或少的時間、檢索不止一篇資料才能得出一個可工作的DEMO,這占用了我大量的時

    2024年01月23日
    瀏覽(28)
  • springboot + (mysql/pgsql) + jpa 多數(shù)據(jù)源(不同類數(shù)據(jù)源)

    ?配置文件: datasourceconfig: 數(shù)據(jù)源一: 數(shù)據(jù)源二:

    2024年02月14日
    瀏覽(22)
  • SpringBoot3整合Druid數(shù)據(jù)源的解決方案

    SpringBoot3整合Druid數(shù)據(jù)源的解決方案

    druid-spring-boot-3-starter目前最新版本是1.2.20,雖然適配了SpringBoot3,但缺少自動裝配的配置文件,會導致加載時報加載驅(qū)動異常。 需要手動在resources目錄下創(chuàng)建 META-INF/spring/ 目錄,并且在 META-INF/spring/ 創(chuàng)建 org.springframework.boot.autoconfigure.AutoConfiguration.imports , 文件中添加如下內(nèi)容

    2024年03月09日
    瀏覽(39)
  • 【Spring Boot】Spring Boot整合多數(shù)據(jù)源

    在實際的開發(fā)工作中,我們經(jīng)常會遇到需要整合多個數(shù)據(jù)源的情況,比如同時連接多個數(shù)據(jù)庫、讀寫分離、跨數(shù)據(jù)庫查詢等。本文將介紹如何使用Spring Boot來實現(xiàn)多數(shù)據(jù)源的整合,對于剛剛接觸開發(fā)的小伙伴可能有一些幫助。 在一個應用程序中使用多個數(shù)據(jù)源意味著我們需要

    2024年02月10日
    瀏覽(28)
  • Spring Boot 配置雙數(shù)據(jù)源

    Spring Boot 配置雙數(shù)據(jù)源

    Survive by day and develop by night. talk for import biz , show your perfect code,full busy,skip hardness,make a better result,wait for change,challenge Survive. happy for hardess to solve denpendies. 需求: 1.基本步驟 添加依賴 添加 Spring Boot 和數(shù)據(jù)庫驅(qū)動的依賴 配置數(shù)據(jù)源 在 application.properties 或 application.yml 中分別配

    2024年01月22日
    瀏覽(23)
  • 【Java】Spring Boot配置動態(tài)數(shù)據(jù)源

    1.1 創(chuàng)建動態(tài)數(shù)據(jù)源 通過實現(xiàn)Spring提供的AbstractRoutingDataSource類,可以實現(xiàn)自己的數(shù)據(jù)源選擇邏輯,從而可以實現(xiàn)數(shù)據(jù)源的動態(tài)切換。 1.2 創(chuàng)建動態(tài)數(shù)據(jù)源配置類 跟配置靜態(tài)多數(shù)據(jù)源一樣,需要手動配置下面的三個 Bean,只不過DynamicDataSource類的targetDataSources是空的。 1.3 創(chuàng)建動

    2024年02月09日
    瀏覽(25)
  • 實例講解Spring boot動態(tài)切換數(shù)據(jù)源

    摘要: 本文模擬一下在主庫查詢訂單信息查詢不到的時候,切換數(shù)據(jù)源去歷史庫里面查詢。 本文分享自華為云社區(qū)《springboot動態(tài)切換數(shù)據(jù)源》,作者:小陳沒煩惱 。 在公司的系統(tǒng)里,由于數(shù)據(jù)量較大,所以配置了多個數(shù)據(jù)源,它會根據(jù)用戶所在的地區(qū)去查詢那一個數(shù)據(jù)庫

    2024年02月06日
    瀏覽(26)
  • Spring Boot配置多個Kafka數(shù)據(jù)源

    application.properties配置文件如下 1.第一個kakfa 2.第二個kakfa 備注: 生產(chǎn)者消費者代碼參考鏈接,開發(fā)同學需要以實際情況按要求自己變更下代碼即可: Spring Boot 集成多個 Kafka_springboot集成多個kafka_//承續(xù)緣_紀錄片的博客-CSDN博客

    2024年02月07日
    瀏覽(27)
  • Spring Boot整合Mybatis配置多數(shù)據(jù)源

    在之前的事件管理系統(tǒng)博客中有提到動態(tài)的多數(shù)據(jù)源配置 工作中難免需要做幾個工具方便自己偷懶,加上之前的擋板,數(shù)據(jù)源肯定沒法單一配置,所以需要多數(shù)據(jù)源配置。這里介紹兩種配置:動態(tài)數(shù)據(jù)源和固定數(shù)據(jù)源模式。這兩種我在目前的工作的工具開發(fā)中都有用到。 M

    2024年01月23日
    瀏覽(30)
  • 如何在Spring Boot中配置雙數(shù)據(jù)源?

    在許多應用程序中, 可能會遇到需要連接多個數(shù)據(jù)庫的情況 。這些數(shù)據(jù)庫可以是不同的類型,例如關(guān)系型數(shù)據(jù)庫和NoSQL數(shù)據(jù)庫,或者它們可以是相同類型但包含不同的數(shù)據(jù)。為了處理這種情況,我們可以使用雙數(shù)據(jù)源來管理多個數(shù)據(jù)庫連接。 雙數(shù)據(jù)源是指在一個應用程序中

    2024年02月11日
    瀏覽(20)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包