最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SpringBoot?配置多個(gè)JdbcTemplate的實(shí)現(xiàn)步驟

 更新時(shí)間:2024年11月27日 08:40:20   作者:憂傷夏天的風(fēng)  
本文介紹了在SpringBoot中配置多個(gè)JdbcTemplate的方法,包括創(chuàng)建項(xiàng)目、添加依賴、配置數(shù)據(jù)源和多個(gè)JdbcTemplate的使用,感興趣的可以了解一下

前言

開發(fā)中使用多數(shù)據(jù)源配置是一個(gè)非常常見的需求。Spring和SpringBoot中,對(duì)此都有相應(yīng)的解決方案。

多數(shù)據(jù)源的首選分布式數(shù)據(jù)庫(kù)中間件MyCat或者Sharing-Jdbc去解決相關(guān)問題。使用MyCat,然后分表策略使用sharding-by-intfile。

本文我們只討論如何在SpringBoot中簡(jiǎn)單配置多個(gè)JdbcTemplate。

一、創(chuàng)建一個(gè)SpringBoot 項(xiàng)目,并引入如下依賴

<!--web應(yīng)用-->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

<!--jdbc -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>

<!-- mysql驅(qū)動(dòng) -->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
</dependency>

<!--druid-->
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid-spring-boot-starter</artifactId>
</dependency>

<!--單元測(cè)試-->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-test</artifactId>
    <scope>test</scope>
</dependency>

二、在application.properties中添加數(shù)據(jù)源配置

spring.datasource.one.url=jdbc:mysql://localhost:3306/oy1?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC
spring.datasource.one.jdbcUrl=jdbc:mysql://localhost:3306/oy1?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC
spring.datasource.one.username=***
spring.datasource.one.password=***
spring.datasource.one.driver-class-name=com.mysql.cj.jdbc.Driver

spring.datasource.two.url=jdbc:mysql://localhost:3306/oy2?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC
spring.datasource.two.jdbcUrl=jdbc:mysql://localhost:3306/oy2?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC
spring.datasource.two.username=***
spring.datasource.two.password=***
spring.datasource.two.driver-class-name=com.mysql.cj.jdbc.Driver

三、新增DadaSourceConfig.java配置多個(gè)數(shù)據(jù)源以及JdbcTemplate,代碼如下:

package com.bestoyc.jdbctemplatedemo;

import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.boot.jdbc.DataSourceBuilder;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.jdbc.core.JdbcTemplate;

import javax.sql.DataSource;

/**
 * @author oyc
 * @Title: DataSourceConfig
 * @ProjectName jdbctemplatedemo
 * @Description: TODO
 * @date 2019/9/22 0:47
 */
@Configuration
public class DataSourceConfig {

    @Bean
    @ConfigurationProperties(prefix = "spring.datasource.one")
    @Qualifier("oneDataSource")
    DataSource dsOne() {
        return DataSourceBuilder.create().build();
    }

    @Bean
    @ConfigurationProperties(prefix = "spring.datasource.two")
    @Qualifier("twoDataSource")
    DataSource dsTwo() {
        return DataSourceBuilder.create().build();
    }

    @Bean(name = "oneJdbcTemplate")
    public JdbcTemplate primaryJdbcTemplate(
            @Qualifier("oneDataSource") DataSource dataSource) {
        return new JdbcTemplate(dataSource);
    }

    @Bean(name = "twoJdbcTemplate")
    public JdbcTemplate secondaryJdbcTemplate(
            @Qualifier("twoDataSource") DataSource dataSource) {
        return new JdbcTemplate(dataSource);
    }
}

四、多個(gè)JdbcTemplate使用

@Autowired
@Qualifier("oneJdbcTemplate")
private JdbcTemplate oneJdbcTemplate;

@Autowired
@Qualifier("twoJdbcTemplate")
private JdbcTemplate twoJdbcTemplate;

@RequestMapping("/createUser1")
public String createUser1() {
    oneJdbcTemplate.update("INSERT INTO `user`(`id`, `name`, `age`) VALUES (?,?,?);", null,"ouyang", 12);
    return "success";
}

@RequestMapping("/createUser2")
public String createUser2() {
    twoJdbcTemplate.update("INSERT INTO `user`(`id`, `name`, `age`) VALUES (?,?,?);", null,"ouyang", 12);
    return "success";
}

這里只是簡(jiǎn)單使用,讀者可以根據(jù)自己的業(yè)務(wù)需要添加相應(yīng)的AOP用戶數(shù)據(jù)源的切換。

到此這篇關(guān)于SpringBoot 配置多個(gè)JdbcTemplate的文章就介紹到這了,更多相關(guān)SpringBoot 配置多個(gè)JdbcTemplate內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 使用Java根據(jù)文件路徑下載zip文件到本地代碼示例

    使用Java根據(jù)文件路徑下載zip文件到本地代碼示例

    在開發(fā)過程中我們會(huì)遇到需要對(duì)文件進(jìn)行壓縮并下載的功能需求,這篇文章主要給大家介紹了關(guān)于如何使用Java根據(jù)文件路徑下載zip文件到本地的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-03-03
  • JPA配置方式+逆向工程映射到Entity實(shí)體類

    JPA配置方式+逆向工程映射到Entity實(shí)體類

    這篇文章主要介紹了JPA配置方式+逆向工程映射到Entity實(shí)體類,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • java中金額元轉(zhuǎn)萬(wàn)元工具類的實(shí)例

    java中金額元轉(zhuǎn)萬(wàn)元工具類的實(shí)例

    這篇文章主要介紹了java中金額元轉(zhuǎn)萬(wàn)元工具類的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧
    2021-02-02
  • MyBatis框架零基礎(chǔ)快速入門案例詳解

    MyBatis框架零基礎(chǔ)快速入門案例詳解

    MyBatis本是apache的一個(gè)開源項(xiàng)目iBatis,2010年這個(gè)項(xiàng)目由apache?software?foundation遷移到了google?code,并且改名為MyBatis。2013年11月遷移到Github。iBATIS一詞來(lái)源于“internet”和“abatis”的組合,是一個(gè)基于Java的持久層框架
    2022-04-04
  • 關(guān)于jdk9、jdk10、jdk11、jdk12、jdk13新特性說(shuō)明

    關(guān)于jdk9、jdk10、jdk11、jdk12、jdk13新特性說(shuō)明

    這篇文章主要介紹了關(guān)于jdk9、jdk10、jdk11、jdk12、jdk13新特性說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • 解決MyBatis Mapper的XML文件SQL語(yǔ)句無(wú)法自動(dòng)提示問題(親測(cè)有效)

    解決MyBatis Mapper的XML文件SQL語(yǔ)句無(wú)法自動(dòng)提示問題(親測(cè)有效)

    這篇文章主要給大家介紹了如何解決MyBatis Mapper的XML文件SQL語(yǔ)句無(wú)法自動(dòng)提示的問題,文中有詳細(xì)的原因分析,以及通過圖文介紹的解決方案,需要的朋友可以參考下
    2023-10-10
  • 關(guān)于Unsupported Media Type的解決方案

    關(guān)于Unsupported Media Type的解決方案

    在Web開發(fā)中,415錯(cuò)誤表示服務(wù)器無(wú)法處理請(qǐng)求附帶的媒體格式,本文介紹了導(dǎo)致HTTP 415錯(cuò)誤的原因以及解決該問題的兩種方法,首先,415錯(cuò)誤通常是由于客戶端請(qǐng)求的內(nèi)容類型與服務(wù)器期望的不匹配引起的,例如,服務(wù)器可能期望JSON格式的數(shù)據(jù)
    2024-10-10
  • Java中@Autowired和@Resource區(qū)別

    Java中@Autowired和@Resource區(qū)別

    本文主要介紹了Java中@Autowired和@Resource區(qū)別,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06
  • SpringCloud2020整合Nacos-Bootstrap配置不生效的解決

    SpringCloud2020整合Nacos-Bootstrap配置不生效的解決

    這篇文章主要介紹了SpringCloud2020整合Nacos-Bootstrap配置不生效的解決,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • Springboot 接收POST、json、文本數(shù)據(jù)的方法 附示例

    Springboot 接收POST、json、文本數(shù)據(jù)的方法 附示例

    這篇文章主要介紹了Springboot 接收POST、json、文本數(shù)據(jù)實(shí)踐,如果把 json 作為參數(shù)傳遞,我們可以使用 @requestbody 接收參數(shù),將數(shù)據(jù)直接轉(zhuǎn)換成對(duì)象,本文通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-10-10

最新評(píng)論

赤峰市| 崇文区| 丰顺县| 罗源县| 施秉县| 黄石市| 昭通市| 曲麻莱县| 乃东县| 通州区| 沙坪坝区| 昂仁县| 大方县| 贵州省| 自贡市| 厦门市| 民县| 墨玉县| 广西| 霍林郭勒市| 溧水县| 桐庐县| 江口县| 罗源县| 信阳市| 惠来县| 永昌县| 阜阳市| 沐川县| 陕西省| 罗平县| 喜德县| 六盘水市| 车险| 兰考县| 沅江市| 泰安市| 定陶县| 凉山| 天镇县| 甘谷县|