當前位置:首頁 » 數據倉庫 » mybatis動態設置資料庫鏈接
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

mybatis動態設置資料庫鏈接

發布時間: 2022-12-17 04:25:38

『壹』 java mybatis框架外連接資料庫在哪裡配置

資料庫的配置信息是在properties裡面,我給你看看我的吧,包括資料庫的IP,埠,用戶名和密碼,還有資料庫名等等

『貳』 spring+ mybatis怎麼配置自帶的資料庫連接池

造一個db.properties如下配置
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/db?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull
jdbc.username=root
jdbc.password=root
在spring配置中讀取

<!-- 配置數據源,使用dbcp連接池 -->
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="${jdbc.driver}"/>
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
<property name="maxActive" value="30"/>
<property name="maxIdle" value="5"/>
</bean>
用 spring管理線程池,mybits的各種映射也用spring讀取管理就好

『叄』 SpringBoot整合MyBatisPlus配置動態數據源

MybatisPlus特性

快速開始

初始化測試數據表:

父工程依賴

該工程用於依賴管理,pom如下:

創建MyBaitsPlus工程

依賴如下:

properties配置

在這里配置資料庫連接,以及數據連接池與mybatisplus的配置等

常規增刪改查實現

創建實體類:

該lombok插件省去getset方法。

創建UserMapper介面,並且實現BaseMapper<User>這里我們指定實體類為user可直接使用介面中的方法。

UserMapper.xml,如下:

執行SQL:

在SpringBoot中使用MybatisPlus分頁需要注入Bean,並且在啟動類上使用@MapperScan("com.simple.spring.boot.mapper")掃描mapper文件路徑如下:

使用MyBatisPlus可以為我們減少很多很多的代碼,不過需要編寫實體類,有失必有得。

配置動態數據源

dynamic-datasource-spring-boot-starter 是一個基於springboot的快速集成多數據源的啟動器。

優勢

網上關於動態數據源的切換的文檔有很多,核心只有兩種。

如果你的數據源較少,場景不復雜,選擇以上任意一種都可以。如果你需要更多特性,請嘗試本動態數據源。

劣勢

不能使用多數據源事務(同一個數據源下能使用事務),網上其他方案也都不能提供。

如果你需要使用到分布式事務,那麼你的架構應該到了微服務化的時候了。

如果呼聲強烈,項目達到800 star,作者考慮集成分布式事務。

PS: 如果您只是幾個資料庫但是有強烈的需求分布式事務,建議還是使用傳統方式自己構建多套環境集成atomic這類,網上網路很多。

約定

建議

強烈建議在 主從模式 下遵循普遍的規則,以便他人能更輕易理解你的代碼。

主資料庫 建議 只執行 INSERT UPDATE DELETE 操作。

從資料庫 建議 只執行 SELECT 操作。

快速開始

加入依賴:

注釋掉原來的資料庫配置,加入:

使用 @DS 切換數據源。

@DS 可以註解在方法上和類上, 同時存在方法註解優先於類上註解

註解在service實現或mapper介面方法上,但強烈不建議同時在service和mapper註解。 (可能會有問題)

如果不加入主鍵則使用默認數據源。

DruidDataSourceAutoConfigure會注入一個DataSourceWrapper,其會在原生的spring.datasource下找url,username,password等。而我們動態數據源的配置路徑是變化的,所以需要排除:

或者在類上排除:

然後更換properties配置信息:

本篇代碼案例地址:

https://github.com/450255266/open-doubi

作者:SimpleWu

出處:https://www.cnblogs.com/SimpleWu/p/10930388.html