当前位置: 首页 > java >正文

Sharding-JDBC 系列专题 - 第七篇:Spring Boot 集成与 Sharding-Proxy 简介

Sharding-JDBC 系列专题 - 第七篇:Spring Boot 集成与 Sharding-Proxy 简介

本系列专题旨在帮助开发者全面掌握 Sharding-JDBC,一个轻量级的分布式数据库中间件。本篇作为系列的第七篇文章,将重点探讨 Sharding-JDBC 与 Spring Boot 的集成,以及 Sharding-Proxy 的基本概念和使用场景。通过 Spring Boot 集成,开发者可以更高效地构建分布式数据库应用,而 Sharding-Proxy 提供了一种服务端分片解决方案,适合特定场景。需要图形化展示的部分将使用 Mermaid 语法绘制图表。


1. Spring Boot 集成 Sharding-JDBC

Spring Boot 是 Java 开发中广泛使用的框架,Sharding-JDBC 可以无缝集成到 Spring Boot 项目中,通过 Spring 的依赖注入和配置管理简化开发流程。本节将展示如何在 Spring Boot 中配置和使用 Sharding-JDBC,包括分库分表、读写分离和分布式事务。

1.1 环境准备

  • Spring Boot:版本 2.7.x 或 3.x。
  • 数据库:MySQL 5.7 或以上,创建 2 个分片数据库(db0db1)和主从数据库(master_dbslave_db0slave_db1)。
  • 表结构:订单表 t_order 和配置表 t_config(参考前几篇)。

1.2 添加依赖

pom.xml 中添加 Spring Boot 和 Sharding-JDBC 依赖:

<dependencies><!-- Spring Boot --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId><version>2.7.5</version></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-jdbc</artifactId><version>2.7.5</version></dependency><!-- Sharding-JDBC --><dependency><groupId>org.apache.shardingsphere</groupId><artifactId>sharding-jdbc-spring-boot-starter</artifactId><version>5.4.1</version></dependency><!-- MySQL Driver --><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.33</version></dependency><!-- HikariCP --><dependency><groupId>com.zaxxer</groupId><artifactId>HikariCP</artifactId><version>5.0.1</version></dependency>
</dependencies>

1.3 配置 Sharding-JDBC

application.yml 中配置分库分表、读写分离和广播表:

spring:shardingsphere:datasource:names: ds_0, ds_1, master_ds, slave_ds_0, slave_ds_1ds_0:type: com.zaxxer.hikari.HikariDataSourcedriver-class-name: com.mysql.cj.jdbc.Driverjdbc-url: jdbc:mysql://localhost:3306/db0?useSSL=falseusername: rootpassword: 123456max-pool-size: 50
http://www.xdnf.cn/news/1101.html

相关文章:

  • MongoDB常用命令
  • 01-STM32基本知识点和keil5的安装
  • 【白雪讲堂】[特殊字符]内容战略地图|GEO优化框架下的内容全景布局
  • 7N60-ASEMI无人机专用功率器件7N60
  • Elasticsearch 使用reindex进行数据同步或索引重构
  • spark jar依赖顺序
  • Docker--Docker网络原理
  • docker容器中uv的使用
  • ARM汇编的LDM和STM指令
  • 【sylar-webserver】重构 增加内存池
  • weibo_har鸿蒙微博分享,单例二次封装,鸿蒙微博,微博登录
  • 基于 WebRTC + Pion + HeyGem.ai 实现可互动的数字人系统
  • 安徽京准:关于石油管道监控NTP时间同步服务器方案
  • kafka auto.offset.reset详解
  • 【Qt】QDialog类
  • WebRTC服务器Coturn服务器的管理平台功能
  • 最新扣子(Coze)案例教程:飞书多维表格按条件筛选记录 + 读取分页Coze工作流,无限循环使用方法,手把手教学,完全免费教程
  • 【基于SprintBoot+Mybatis+Mysql】电脑商城项目之显示勾选的购物车数据和创建订单
  • 电气动调节单座V型球阀带阀杆节流套沟槽孔板的作用-耀圣
  • 【华为HCIP | 华为数通工程师】821—多选解析—第十二页
  • 【MySQL】MySQL 表的增删改查(CRUD)—— 下篇(内含聚合查询、group by和having子句、联合查询、插入查询结果)
  • Linux信号的产生
  • Qt绘制可选择范围的日历
  • 嘻游电玩三端客户端部署实战:PC + Android + iOS 环境全覆盖教程
  • 【数据结构】励志大厂版·初级(二刷复习)双链表
  • HCIP(OSPF)(3)
  • 缓存与内存;缺页中断;缓存映射:组相联
  • Linux内核编译(Ubuntu)
  • IOT项目——DIY Weather Station With ESP32
  • Git Flow分支模型