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

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

相关文章:

  • Spark2 之 memorypool
  • 417. 太平洋大西洋水流问题
  • 小程序 日历选择 支持前后月份切换
  • C++中的引用:深入理解与实用示例
  • 【DeepSeek 学习推理】Llumnix: Dynamic Scheduling for Large Language Model Serving
  • 实验七 ADC0804 数字电压表
  • 【每天一个知识点】大模型的幻觉问题
  • 访问Maven私服的教程
  • leetcode:1295. 统计位数为偶数的数字(python3解法)
  • JAVA设计模式——(二)组合模式
  • Linux内核编译(Ubuntu)
  • 利用参考基因组fa和注释文件gff提取蛋白编码序列
  • Ubuntu 22.04安装IGH
  • 【DeepSeek 学习推理】Llumnix: Dynamic Scheduling for Large Language Model Serving实验部分
  • OpenCv高阶(七)——图像拼接
  • 如何批量为多个 Word 文档添加水印保护
  • tomcat集成redis实现共享session
  • AWS S3企业级部署解决方案:从入门到高可用性实践
  • 108. 将有序数组转换为二叉搜索树
  • 诠视科技MR眼镜如何使用头瞄点和UGUI交互
  • 骑手眼中的“外卖战”
  • 读懂城市丨“花木之乡”沭阳,一场持续五年的“诚信实验”
  • 中汽协:杜绝虚假宣传与过度营销,确保用户清晰区别驾驶辅助与自动驾驶
  • 吸引更多开发者,上海智元发布行业首款具身智能一站式开发平台
  • 高架上2名儿童从轿车天窗探出身来,驾驶员被记3分罚200元
  • 南京信息工程大学商学院讲师李玮玮逝世,终年45岁