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

SpringBoot+MybatisPlus+dynamic-datasources實(shí)現(xiàn)連接Postgresql和mysql多數(shù)據(jù)源

這篇具有很好參考價值的文章主要介紹了SpringBoot+MybatisPlus+dynamic-datasources實(shí)現(xiàn)連接Postgresql和mysql多數(shù)據(jù)源。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。

場景

dynamic-datasource-spring-boot-starter實(shí)現(xiàn)動態(tài)數(shù)據(jù)源Mysql和Sqlserver:

dynamic-datasource-spring-boot-starter實(shí)現(xiàn)動態(tài)數(shù)據(jù)源Mysql和Sqlserver_dynamic-datasource-spring-boot-starter mysql sqlse-CSDN博客

SpringBoot中整合MybatisPlus快速實(shí)現(xiàn)Mysql增刪改查和條件構(gòu)造器:

https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/135646024

在上面的基礎(chǔ)上實(shí)現(xiàn)同時連接mysql和postgresql多數(shù)據(jù)源。

注:

博客:
霸道流氓氣質(zhì)-CSDN博客

實(shí)現(xiàn)

1、添加依賴

添加postgresql的依賴

??????? <dependency>
??????????? <groupId>org.postgresql</groupId>
??????????? <artifactId>postgresql</artifactId>
??????? </dependency>

添加mysql驅(qū)動

??????? <dependency>
??????????? <groupId>mysql</groupId>
??????????? <artifactId>mysql-connector-java</artifactId>
??????? </dependency>

添加多數(shù)據(jù)源dynamic-datasource的依賴

??????? <dependency>
??????????? <groupId>com.baomidou</groupId>
??????????? <artifactId>dynamic-datasource-spring-boot-starter</artifactId>
??????????? <version>3.2.1</version>
??????? </dependency>

添加mybatisplus的依賴

??????? <dependency>
??????????? <groupId>com.baomidou</groupId>
??????????? <artifactId>mybatis-plus-boot-starter</artifactId>
??????????? <version>3.5.1</version>
??????? </dependency>

完整pom依賴

??????? <dependency>
??????????? <groupId>org.springframework.boot</groupId>
??????????? <artifactId>spring-boot-starter-web</artifactId>
??????? </dependency>
??????? <dependency>
??????????? <groupId>org.projectlombok</groupId>
??????????? <artifactId>lombok</artifactId>
??????????? <optional>true</optional>
??????? </dependency>
??????? <!--MySQL驅(qū)動-->
??????? <dependency>
??????????? <groupId>mysql</groupId>
??????????? <artifactId>mysql-connector-java</artifactId>
??????? </dependency>
??????? <dependency>
??????????? <groupId>com.baomidou</groupId>
??????????? <artifactId>mybatis-plus-boot-starter</artifactId>
??????????? <version>3.5.1</version>
??????? </dependency>
??????? <dependency>
??????????? <groupId>org.springframework.boot</groupId>
??????????? <artifactId>spring-boot-starter-test</artifactId>
??????????? <scope>test</scope>
??????? </dependency>
??????? <dependency>
??????????? <groupId>org.postgresql</groupId>
??????????? <artifactId>postgresql</artifactId>
??????? </dependency>
??????? <dependency>
??????????? <groupId>com.baomidou</groupId>
??????????? <artifactId>dynamic-datasource-spring-boot-starter</artifactId>
??????????? <version>3.2.1</version>
??????? </dependency>

2、修改application.yml配置文件,添加多數(shù)據(jù)源的配置

spring:
? datasource:
??? dynamic:
????? primary: master #設(shè)置默認(rèn)的數(shù)據(jù)源或者數(shù)據(jù)源組,默認(rèn)值即為master
????? strict: false #嚴(yán)格匹配數(shù)據(jù)源,默認(rèn)false. true未匹配到指定數(shù)據(jù)源時拋異常,false使用默認(rèn)數(shù)據(jù)源
????? datasource:
??????? master:
?????????url:jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
????????? username: root
????????? password: 123456
????????? driver-class-name: com.mysql.jdbc.Driver
????????? dbcp2:
??????????? min-idle: 5??????????????????????????????? # 數(shù)據(jù)庫連接池的最小維持連接數(shù)
??????????? initial-size: 5??????????????????????????? # 初始化連接數(shù)
??????????? max-total: 5?????????????????????????????? # 最大連接數(shù)
??????????? max-wait-millis: 150?????????????????????? # 等待連接獲取的最大超時時間

??????? pg:
????????? url: jdbc:postgresql://127.0.0.1:5432/test
????????? username: postgres
????????? password: 123456
????????? driver-class-name: org.postgresql.Driver
????????? dbcp2:
??????????? min-idle: 5??????????????????????????????? # 數(shù)據(jù)庫連接池的最小維持連接數(shù)
??????????? initial-size: 5??????????????????????????? # 初始化連接數(shù)
??????????? max-total: 5?????????????????????????????? # 最大連接數(shù)
??????????? max-wait-millis: 150?????????????????????? # 等待連接獲取的最大超時時間

3、postgresql中新建表t_student

并新建實(shí)體類

import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;

@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@TableName(value = "t_student")
public class Student implements Serializable {

??? private static final long serialVersionUID = -5514139686858156155L;

??? private Integer id;

??? private String name;

??? private Integer age;

??? private String address;

}

4、新建student的mapper

import com.badao.demo.config.DataSourceOfPG;
import com.badao.demo.entity.Student;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.springframework.stereotype.Repository;

@Repository
@DataSourceOfPG
public interface StudentMapper extends BaseMapper<Student> {

}

注意這里的@DataSourceOfPG是自定義注解,你也可以直接使用

@DS("pg")

這里的pg與上面yml中數(shù)據(jù)源名稱對應(yīng),為防止pg修改導(dǎo)致多處修改,這里的dynamic datasource的 @DS注解使用

自定義注解實(shí)現(xiàn)。

import com.baomidou.dynamic.datasource.annotation.DS;
import java.lang.annotation.*;

@Target({ElementType.TYPE, ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@DS("pg")
public @interface DataSourceOfPG {
???
}

關(guān)于自定義注解可以參考其他文章

Java中通過反射+自定義注解判斷對象中部分屬性是否為空,返回為空字段的名稱或自定義含義:

Java中通過反射+自定義注解判斷對象中部分屬性是否為空,返回為空字段的名稱或自定義含義_java判斷空值注解-CSDN博客

SpringBoot中通過自定義Jackson注解實(shí)現(xiàn)接口返回數(shù)據(jù)脫敏:

SpringBoot中通過自定義Jackson注解實(shí)現(xiàn)接口返回數(shù)據(jù)脫敏_springboot 自定義 jacksonfilter-CSDN博客

user表參考上面博客

實(shí)體類

@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@TableName(value = "t_user")
public class User implements Serializable {

??? private static final long serialVersionUID = -5514139686858156155L;

??? private Integer id;

??? private Integer userId;

??? private String name;

??? private Integer age;

??? @TableField(exist = false)
??? private String address;

}

mapper為

@Repository
public interface UserMapper extends BaseMapper<User> {

}

5、編寫單元測試測試從兩個數(shù)據(jù)源中獲取數(shù)據(jù)

@SpringBootTest
class PGTest {

??? @Autowired
??? private StudentMapper studentMapper;

??? @Autowired
??? private UserMapper userMapper;

??? @Test
??? void test1() {
??????? List<Student> students = studentMapper.selectList(new LambdaQueryWrapper<>());
??????? System.out.println(students);
??????? List<User> users = userMapper.selectList(new LambdaQueryWrapper<>());
??????? System.out.println(users);
??? }

}

單元測試運(yùn)行結(jié)果

SpringBoot+MybatisPlus+dynamic-datasources實(shí)現(xiàn)連接Postgresql和mysql多數(shù)據(jù)源,SpringBoot,spring boot,postgresql,mysql文章來源地址http://www.zghlxwxcb.cn/news/detail-812169.html

到了這里,關(guān)于SpringBoot+MybatisPlus+dynamic-datasources實(shí)現(xiàn)連接Postgresql和mysql多數(shù)據(jù)源的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Springboot 多數(shù)據(jù)源 dynamic-datasource動態(tài)添加移除數(shù)據(jù)源

    Springboot 多數(shù)據(jù)源 dynamic-datasource動態(tài)添加移除數(shù)據(jù)源

    上一篇文章我們講了如何通過多數(shù)據(jù)源組件,在Spring boot Druid 連接池項(xiàng)目中配置多數(shù)據(jù)源,并且通過@DS注解的方式切換數(shù)據(jù)源,《Spring Boot 配置多數(shù)據(jù)源【最簡單的方式】》。但是在多租戶的業(yè)務(wù)場景中,我們通常需要手動的切換數(shù)據(jù)源,那么本文將解答你的額疑惑。 dynam

    2024年02月13日
    瀏覽(20)
  • Springboot+mybatis-plus+dynamic-datasource+Druid 多數(shù)據(jù)源 分布式事務(wù)

    Springboot+mybatis-plus+dynamic-datasource+Druid 多數(shù)據(jù)源 分布式事務(wù)

    背景 處理多數(shù)據(jù)源事務(wù)一直是一個復(fù)雜而棘手的問題,通常我們有兩種主流的解決方法。 第一種是通過Atomikos手動創(chuàng)建多數(shù)據(jù)源事務(wù),這種方法更適合數(shù)據(jù)源數(shù)量較少,參數(shù)配置不復(fù)雜,對性能要求不高的項(xiàng)目。然而,這種方法的最大困難在于需要手動配置大量設(shè)置,這可能

    2024年02月11日
    瀏覽(26)
  • dynamic-datasource can not find primary datasource

    dynamic-datasource can not find primary datasource

    動態(tài)數(shù)據(jù)源找不到主數(shù)據(jù)源 可能導(dǎo)入多數(shù)據(jù)源依賴導(dǎo)致 把依賴注釋 運(yùn)行成功

    2024年02月08日
    瀏覽(19)
  • 【源碼解析】多數(shù)據(jù)源 dynamic-datasource快速入門及源碼解析

    【源碼解析】多數(shù)據(jù)源 dynamic-datasource快速入門及源碼解析

    啟動的時候,會加載在 dynamic-datasource-spring-boot-starter 的jar包中的 spring.factories 在 DynamicDataSourceAutoConfiguration 會注入 DynamicRoutingDataSource DynamicRoutingDataSource#afterPropertiesSet ,系統(tǒng)啟動的時候會加載所有的數(shù)據(jù)源 在 DynamicDataSourceAutoConfiguration 會注入 DynamicDataSourceProvider AbstractData

    2023年04月21日
    瀏覽(21)
  • dynamic-datasource Please check the setting of primary解決方案

    dynamic-datasource Please check the setting of primary解決方案

    報這個錯的原因是數(shù)據(jù)庫使用多數(shù)據(jù)源沒有指定主數(shù)據(jù)源導(dǎo)致的錯誤。 ?解決方法如圖所示,通過配置指定dynamic的primary指定主數(shù)據(jù)庫的配置 切記箭頭兩處的名稱一樣

    2024年02月13日
    瀏覽(33)
  • spring boot mybatis-plus dynamic-datasource 配置文件 相關(guān)依賴環(huán)境配置

    spring boot mybatis-plus dynamic-datasource 配置文件 相關(guān)依賴環(huán)境配置

    spring boot mybatis-plus dynamic-datasource 配置文件 相關(guān)依賴環(huán)境配置 ##yaml配置 ##父級pom.xml配置 ##子模塊pom.xml配置 ##表結(jié)構(gòu) ##Test.java ##TestMapper.xml ##TestMapper.java ##TestService.java ##TestController ##項(xiàng)目啟動類BootStrap.java ##瀏覽器訪問 192.168.3.188:8866/yym/test/v1/test

    2024年02月02日
    瀏覽(32)
  • Dynamic DataSource 多數(shù)據(jù)源配置【 Springboot + DataSource + MyBatis Plus + Druid】

    Dynamic DataSource 多數(shù)據(jù)源配置【 Springboot + DataSource + MyBatis Plus + Druid】

    MybatisPlus多數(shù)據(jù)源配置主要解決的是多數(shù)據(jù)庫連接和切換的問題。在一些大型應(yīng)用中,由于數(shù)據(jù)量的增長或者業(yè)務(wù)模塊的增多,可能需要訪問多個數(shù)據(jù)庫。這時,就需要配置多個數(shù)據(jù)源。 2.1.1、引用依賴 2.1.2、application.yml 配置 2.1.3、通用配置類 2.1.4、使用方式 這里便不過多的

    2024年02月03日
    瀏覽(32)
  • MyBatis Plus 插件 動態(tài)數(shù)據(jù)源實(shí)現(xiàn)原理與源碼講解 (dynamic-datasource-spring-boot-starter-master)

    MyBatis Plus 插件 動態(tài)數(shù)據(jù)源實(shí)現(xiàn)原理與源碼講解 (dynamic-datasource-spring-boot-starter-master)

    目錄 1. 介紹 2. 基本原理 3. 源碼介紹 3.1 使用 AOP 攔截,方法執(zhí)行前獲取到當(dāng)前方法要用的數(shù)據(jù)源 3.2 實(shí)現(xiàn)自定義?DataSource 接口,實(shí)現(xiàn) DataSource 接口的 getConnect 方法做動態(tài)處理 多數(shù)據(jù)源即一個項(xiàng)目中同時存在多個不同的數(shù)據(jù)庫連接池。 比如 127.0.0.1:3306/test? ?127.0.0.1:3307/test?

    2024年02月07日
    瀏覽(28)
  • 微服務(wù)springcloud啟動報錯:com.baomidou.dynamic.datasource.exception.CannotFindDaataSourceException: dynamic

    微服務(wù)springcloud啟動報錯:com.baomidou.dynamic.datasource.exception.CannotFindDaataSourceException: dynamic

    原因:編碼不一致導(dǎo)致的 解決辦法:如下圖所示,進(jìn)行相應(yīng)設(shè)置就行 ?

    2024年01月25日
    瀏覽(24)
  • 使用多數(shù)據(jù)源dynamic-datasource-spring-boot-starter遇到的問題記錄

    使用多數(shù)據(jù)源dynamic-datasource-spring-boot-starter遇到的問題記錄

    記錄使用多數(shù)據(jù)源dynamic-datasource-spring-boot-starter遇到的問題: 1、工程啟動失敗 缺少clickhouse連接驅(qū)動,引入對應(yīng)的maven依賴 2、clickhouse的sql語句讀到了mysql數(shù)據(jù)庫 在工程的配置文件只配置了ck數(shù)據(jù)源配置的時候,@DS(“數(shù)據(jù)源名稱”)用在service接口上沒什么問題。 由于新的需求

    2024年02月15日
    瀏覽(28)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包