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

Spring配置動態(tài)數據庫

這篇具有很好參考價值的文章主要介紹了Spring配置動態(tài)數據庫。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

前言

本文主要介紹使用spring boot 配置多個數據庫,即動態(tài)數據庫

開始搭建

首先創(chuàng)建一個SpringWeb項目——dynamicdb(spring-boot2.5.7)

然后引入相關依賴lombok、swagger2、mybatis-plus,如下:

<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.5.7</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.example</groupId>
    <artifactId>dynamicdb</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>dynamicdb</name>
    <description>dynamicdb</description>
    <properties>
        <java.version>8</java.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
?
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.28</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger2</artifactId>
            <version>2.9.2</version>
        </dependency>
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger-ui</artifactId>
            <version>2.9.2</version>
        </dependency>
 
        <!-- mybatis-plus 依賴 -->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.4.2</version>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<!-- sqlSessionTemplate 依賴 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<!-- spring-boot dynamic 動態(tài)數據庫依賴-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>dynamic-datasource-spring-boot-starter</artifactId>
<version>2.5.6</version>
</dependency>
<!-- druid 動態(tài)簡易使用依賴 @DS("db1")-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.20</version>
</dependency>  
</dependencies>
?
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
?
</project>

然后在包dynamicdb下面創(chuàng)建controller、mapper、dbmodel, 然后在resource下面創(chuàng)建mapper文件夾及問題,如下圖:

Spring配置動態(tài)數據庫

然后配置application,啟用swagger2和添加mapper掃描,如下:

@EnableSwagger2
@Log4j2
@SpringBootApplication 
@MapperScan("com.example.dynamicdb.mapper")
public class DynamicdbApplication {
?
    public static void main(String[] args) {
        SpringApplication.run(DynamicdbApplication.class, args);
    }
}

然后編輯resources下的application.yml,如下:

server:
  port: 8082
  servlet:
    context-path: /api
spring:
  servlet:
    multipart:
      max-file-size: 50MB
      max-request-size: 50MB
  datasource:
    dynamic: #使用動態(tài)數據庫配置
      primary: db1 # 配置默認數據庫
      datasource:
        db1: # 數據源1
          driver-class-name: com.mysql.cj.jdbc.Driver
          url: jdbc:mysql://localhost/db1
          username: root
          password: 1qaz!QAZ
        db2: # 數據源2
          driver-class-name: com.mysql.cj.jdbc.Driver
          url: jdbc:mysql://localhost/db2
          username: root
          password: 1qaz!QAZ
      druid:
        initial-size: 1
        max-active: 20
        min-idle: 1
        max-wait: 60000
  autoconfigure:
    exclude: com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure # 去除druid配置 
mybatis-plus:
  mapper-locations: classpath:mapper/*.xml #指定resources下的mapper文件夾下是存儲映射XML的文件夾

然后創(chuàng)建SqlSessionController,使用SqlSession來加載Mapper,代碼如下:

@RestController
public class SqlSessionController {
?
?
    @Autowired
    private SqlSession sqlSession;
?
    @GetMapping(value = "/SqlSession/normalSql")
    @ResponseBody
    @ApiOperation(value = "默認查詢,從主數據庫查詢", notes = "當前配置的主數據是db1-primary: db1")
    public List<user> normalSql() {
        //讀取第一個數據庫的值
        UserMapper mapper = sqlSession.getMapper(UserMapper.class);
        List<user> users = mapper.test();
        return users;
    }
    @GetMapping(value = "/SqlSession/data_from_db1")
    @ResponseBody
    @DS("db1")
    @ApiOperation(value = "從db1數據庫查詢數據", notes = "查詢db1")
    public List<user> data_from_db1() {
        //讀取第一個數據庫的值
        UserMapper mapper = sqlSession.getMapper(UserMapper.class);
        List<user> users = mapper.test();
        return users;
    }
?
    @GetMapping(value = "/SqlSession/data_from_db2")
    @ResponseBody
    @DS("db2")
    @ApiOperation(value = "從db2數據庫查詢數據", notes = "查詢db2")
    public List<user> data_from_db2(Integer id) {
        //讀取第二個數據庫的值
        UserMapper mapper = sqlSession.getMapper(UserMapper.class);
        List<user> users = mapper.test();
        return users;
    }
}

代碼中使用?@DS("db1")來指定該接口內使用的數據庫。

再創(chuàng)建一個MapperController,測試使用Mapper直接訪問數據庫,如下

@RestController
public class MapperController {
?
    @Autowired
    private UserMapper userMapper;
?
    @GetMapping(value = "/Mapper/normalSql")
    @ResponseBody
    @ApiOperation(value = "使用Mapper查詢,從主數據庫查詢", notes = "當前配置的主數據是db1-primary: db1")
    public List<user> normalSql() {
        //讀取第一個數據庫的值
        List<user> users = userMapper.test();
        return users;
    }
}

----------------------------------------------------------------------------------------------------

到此,Spring配置動態(tài)數據庫就已經介紹完了。

代碼已經傳到Github上了,歡迎大家下載。

Github地址:https://github.com/kiba518/dynamicdb

----------------------------------------------------------------------------------------------------

注:此文章為原創(chuàng),任何形式的轉載都請聯系作者獲得授權并注明出處!
若您覺得這篇文章還不錯,請點擊下方的推薦】,非常感謝!

https://www.cnblogs.com/kiba/p/17473450.html

?Spring配置動態(tài)數據庫

?文章來源地址http://www.zghlxwxcb.cn/news/detail-479198.html

到了這里,關于Spring配置動態(tài)數據庫的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

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

領支付寶紅包贊助服務器費用

相關文章

  • 【Spring Boot】Spring Boot 配置 Hikari 數據庫連接池

    數據庫連接池是一個提高程序與數據庫的連接的優(yōu)化,連接池它主要作用是提高性能、節(jié)省資源、控制連接數、連接管理等操作; 程序中的線程池與之同理,都是為了優(yōu)化、提高性能。

    2024年02月11日
    瀏覽(29)
  • 使用dynamic-datasource-spring-boot-starter動態(tài)切換數據源操作數據庫(MyBatis-3.5.9)

    記錄 :383 場景 :使用dynamic-datasource-spring-boot-starter動態(tài)切換數據源,使用MyBatis操作數據庫。提供三種示例:一,使用@DS注解作用到類上。二,使用@DS注解作用到方法上。三,不使用注解,使用DynamicDataSourceContextHolder類在方法內靈活切換不同數據源。 源碼: https://github.com/

    2024年01月20日
    瀏覽(25)
  • 【Spring Boot】使用XML配置文件實現數據庫操作(一)

    SQL映射文件就是我們通常說的mapper.xml配置文件,主要實現SQL語句的配置和映射,同時實現Java的POJO對象與數據庫中的表和字段進行映射關聯的功能。 1.1 mapper.xml的結構 下面就來詳細介紹mapper.xml文件的結構。首先看一個完整的mapper.xml示例:

    2024年02月10日
    瀏覽(31)
  • MySQl數據庫第八課-------SQL命令查詢-------主要命脈

    MySQl數據庫第八課-------SQL命令查詢-------主要命脈

    ?歡迎小可愛們前來借鑒我的gtiee秦老大大 (qin-laoda) - Gitee.com —————————————————————————————— 查詢數據 ????????條件 ????????邏輯運算符 ????????模糊查詢 ????????范圍查詢 in ????????判斷空 UNION ?排序 聚合 分組:gro

    2024年02月16日
    瀏覽(57)
  • yml配置動態(tài)數據源(數據庫@DS)與引起(If you want an embedded database (H2, HSQL or Derby))類問題

    yml配置動態(tài)數據源(數據庫@DS)與引起(If you want an embedded database (H2, HSQL or Derby))類問題

    Druid連接池的自動配置類是DruidDataSourceAutoConfigure類上有一行注解 @EnableConfigurationProperties注解的作用是:使配置文件中的配置生效并且映射到指定類的屬性 DruidStatProperties:指定的前綴是spring.datasource.druid,主要設置連接池的一些參數 DataSourceProperties:指定的前綴是spring.dataso

    2024年02月10日
    瀏覽(25)
  • PGSQL(PostgreSQL)數據庫基礎篇:PostgreSQL 的 主要優(yōu)點 、 劣勢 、體系結構 、核心功能 、安裝教程。

    PGSQL(PostgreSQL)數據庫基礎篇:PostgreSQL 的 主要優(yōu)點 、 劣勢 、體系結構 、核心功能 、安裝教程。

    1.維護者是PostgreSQL Global Development Group,首次發(fā)布于1989年6月。 2.操作系統(tǒng)支持WINDOWS、Linux、UNIX、MAC OS X、BSD。 3.從基本功能上來看,支持ACID、關聯完整性、數據庫事務、Unicode多國語言。 4.表和視圖方面,PostgreSQL支持臨時表,而物化視圖,可以使用PL/pgSQL、PL/Perl、PL/Python或其

    2024年04月26日
    瀏覽(96)
  • 【Spring】Spring的數據庫開發(fā)

    1.1 Spring JdbcTemplate的解析 ????針對數據庫的操作,Spring框架提供了 JdbcTemplate 類,該類是Spring框架數據抽象層的基礎,其他更高層次的抽象類是構建于JdbcTemplate類之上的??梢哉f,JdbcTemplate類是Spring JDBC的核心類。JdbcTemplate類的繼承關系十

    2023年04月23日
    瀏覽(33)
  • 【Spring/MySQL數據庫系列】數據庫事務的特點與隔離級別

    【Spring/MySQL數據庫系列】數據庫事務的特點與隔離級別

    ?? 前面的話 ?? 本文已經收錄到《Spring框架全家桶系列》專欄,本文將介紹有關數據庫事務的特點以及隔離級別。 ??博客主頁:未見花聞的博客主頁 ??歡迎關注??點贊??收藏??留言?? ??本文由 未見花聞 原創(chuàng), CSDN 首發(fā)! ??首發(fā)時間:??2023年5月20日?? ??堅

    2024年02月05日
    瀏覽(25)
  • Spring數據庫事務處理

    Spring數據庫事務處理

    事務回滾丟失更新: 目前大部分數據庫已經通過鎖的機制來避免了事務回滾丟失更新。 數據庫鎖的機制: 鎖可以分為樂觀鎖和悲觀鎖,而悲觀鎖又分為:讀鎖(共享鎖)和寫鎖(排它鎖),而數據庫實現了悲觀鎖中的讀鎖和寫鎖,而樂觀鎖則需要開發(fā)人員自己實現。 數據庫在設

    2024年02月07日
    瀏覽(32)
  • tim實踐系列——分布式數據存儲與動態(tài)數據庫擴容

    tim實踐系列——分布式數據存儲與動態(tài)數據庫擴容

    前言: tim是去中心化分布式即時通訊引擎。不依賴于任何中心服務器,采用去中心化分布式架構,解決傳統(tǒng)中心化通訊方式的問題,去中心化分布式架構的通訊引擎的各個節(jié)點之間相互連接,形成一個龐大的分布式網絡??梢暂p松地擴展服務規(guī)模,支持更多的用戶和業(yè)務需求

    2024年02月02日
    瀏覽(21)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領取紅包

二維碼2

領紅包