springboot如何使用yml文件方式配置shardingsphere
更新時(shí)間:2023年09月18日 14:25:09 作者:紫荊-往往
這篇文章主要介紹了springboot如何使用yml文件方式配置shardingsphere問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
1、創(chuàng)建maven項(xiàng)目
引入依賴包
<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.apache.shardingsphere</groupId> <artifactId>sharding-jdbc-spring-boot-starter</artifactId> <version>4.1.1</version> </dependency> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.1.22</version> </dependency> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.4.1</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.38</version> </dependency> </dependencies>
2、配置yml文件
spring: shardingsphere: datasource: names: m1 m1: type: com.alibaba.druid.pool.DruidDataSource url: jdbc:mysql://ip:3306/test?serverTimezone=GMT%2B8 driver-class-name: com.mysql.jdbc.Driver username: 用戶名 password: 密碼 # m2: # type: com.alibaba.druid.pool.DruidDataSource # url: jdbc:mysql://10.0.5.118:3306/test2?serverTimezone=GMT%2B8 # driver-class-name: com.mysql.jdbc.Driver # username: root # password: dcg123456 sharding: tables: course: actual-data-nodes: m1.course_$->{1..2} key-generator: column: cid type: SNOWFLAKE # databaseStrategy: #分庫策略 # inline: # shardingColumn: cid # algorithmExpression: m$->{cid % 2 +1} #分表策略 table-strategy: inline: sharding-column: cid algorithm-expression: course_$->{cid%2+1} #打印sql props: sql: show: true
3、創(chuàng)建course實(shí)體類及dao層代碼
package com.lifwe.shardingsphere.entity; import lombok.Data; import lombok.NoArgsConstructor; import lombok.ToString; /** * @author lifwe * @version 1.0 * @ClassName :Course * @Description : * @date 2021/3/5 20:27 */ @Data @NoArgsConstructor @ToString public class Course { private Long cid; private String cname; private Long userId; private String cstatus; }
package com.lifwe.shardingsphere.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.lifwe.shardingsphere.entity.Course; import org.apache.ibatis.annotations.Mapper; /** * @author lifwe * @version 1.0 * @ClassName :CourseDao * @Description : * @date 2021/3/5 20:32 */ @Mapper public interface CourseDao extends BaseMapper<Course> { }
4、進(jìn)行junit測試
上圖所指示,兩個(gè)分片表插入前是無數(shù)據(jù)的,執(zhí)行測試用例,
日志為:
查看兩個(gè)分片表數(shù)據(jù),
結(jié)果如下所示:
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
您可能感興趣的文章:
- SpringBoot+Mybatis-plus+shardingsphere實(shí)現(xiàn)分庫分表的方案
- SpringBoot?整合?ShardingSphere4.1.1實(shí)現(xiàn)分庫分表功能
- SpringBoot3和ShardingSphere5框架實(shí)現(xiàn)數(shù)據(jù)分庫分表
- SpringBoot整合ShardingSphere5.x實(shí)現(xiàn)數(shù)據(jù)加解密功能(最新推薦)
- SpringBoot+ShardingSphereJDBC實(shí)現(xiàn)讀寫分離詳情
- SpringBoot如何配置數(shù)據(jù)庫主從shardingsphere
相關(guān)文章
Mybatisplus創(chuàng)建Spring?Boot工程打包錯(cuò)誤的解決方式
最近在實(shí)戰(zhàn)springboot遇到了一些坑,記錄一下,下面這篇文章主要給大家介紹了關(guān)于Mybatisplus創(chuàng)建Spring?Boot工程打包錯(cuò)誤的解決方式,文中通過圖文介紹的介紹的非常詳細(xì),需要的朋友可以參考下2023-03-03SpringBoot自動(dòng)配置原理,你真的懂嗎?(簡單易懂)
這篇文章主要介紹了SpringBoot自動(dòng)配置原理,你真的懂嗎?本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-05-05Java后端對接微信支付(小程序、APP、PC端掃碼)包含查單退款
微信支付我們主要聚焦于這三種支付方式,其中JSPAI與APP主要與uniapp開發(fā)微信小程序與APP對接,本文主要介紹了Java后端對接微信支付(小程序、APP、PC端掃碼)包含查單退款,具有一定的參考價(jià)值,感興趣的可以了解一下2021-12-12一文帶你搞懂如何在Spring?Boot中輕松調(diào)用Python腳本
雖然springBoot非常適合開發(fā)高性能的Web應(yīng)用,但它的生態(tài)中并沒有像Python那樣豐富的科學(xué)計(jì)算庫,所以最理想的方案就是將Spring?Boot和Python結(jié)合,下面我們來看看具體的實(shí)現(xiàn)方法吧2025-04-04