shardingjdbc介绍

news/2024/9/24 9:50:53/

文章目录

  • 1、shardingjdbc介绍
    • 1.1、读写分离、数据分片(分库分表)中间件:
  • 2、shardingjdbc-demo搭建
    • 2.1、创建项目
    • 2.2、添加依赖
    • 2.3、application.yml
    • 2.4、创建实体类 User
    • 2.5、创建 UserMapper
    • 2.6、创建测试类 ShardingJdbcDemoApplicationTests

1、shardingjdbc介绍

在这里插入图片描述

1.1、读写分离、数据分片(分库分表)中间件:

shardingsphere_5">1.1.1、shardingsphere

  1. proxy:创建一个中间层项目,处理所有的数据库操作分发请求
  2. jdbc:在一个项目的配置文件中配置读写分离

1.1.2、mycat

2、shardingjdbc-demo搭建

2.1、创建项目

项目类型:Spring Initializr
SpringBoot脚手架:https://start.springboot.io
项目名:sharding-jdbc-demo
SpringBoot版本:3.0.5在这里插入图片描述

2.2、添加依赖

    <dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><!--操作数据库--><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.30</version></dependency><!--mybatisPlus--><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.5.3.1</version></dependency><!--lombok--><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional></dependency><dependency><groupId>org.apache.shardingsphere</groupId><artifactId>shardingsphere-jdbc-core</artifactId><version>5.4.0</version></dependency><!--兼容jdk17和spring boot3--><dependency><groupId>org.yaml</groupId><artifactId>snakeyaml</artifactId><version>1.33</version></dependency><dependency><groupId>org.glassfish.jaxb</groupId><artifactId>jaxb-runtime</artifactId><version>2.3.8</version></dependency></dependencies>

2.3、application.yml

spring:datasource:driver-class-name: com.mysql.cj.jdbc.Driverusername: rootpassword: 123456url: jdbc:mysql://192.168.74.148:3306/mydb2?serverTimezone=GMT%2B8

2.4、创建实体类 User

create table t_user
(id   BIGINT auto_increment,name VARCHAR(30) null,constraint t_user_pkprimary key (id)
);
package com.atguigu.sharding.jdbc.demo.bean;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
@Data
@TableName(value = "t_user")
public class User {private Long id;private String name;}

2.5、创建 UserMapper

package com.atguigu.sharding.jdbc.demo.mapper;
import com.atguigu.sharding.jdbc.demo.bean.User;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface UserMapper extends BaseMapper<User> {
}

2.6、创建测试类 ShardingJdbcDemoApplicationTests

package com.atguigu.sharding.jdbc.demo;import com.atguigu.sharding.jdbc.demo.mapper.UserMapper;
import jakarta.annotation.Resource;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;@SpringBootTest
class ShardingJdbcDemoApplicationTests {@ResourceUserMapper userMapper;@Testvoid contextLoads() {userMapper.selectList(null).forEach(System.out::println);}}
2024-09-23T21:17:04.983+08:00  INFO 3416 --- [           main] a.s.j.d.ShardingJdbcDemoApplicationTests : Started ShardingJdbcDemoApplicationTests in 2.135 seconds (process running for 3.649)
2024-09-23T21:17:05.518+08:00  INFO 3416 --- [           main] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Starting...
2024-09-23T21:17:06.147+08:00  INFO 3416 --- [           main] com.zaxxer.hikari.pool.HikariPool        : HikariPool-1 - Added connection com.mysql.cj.jdbc.ConnectionImpl@6a4a2090
2024-09-23T21:17:06.150+08:00  INFO 3416 --- [           main] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Start completed.
User(id=1, name=张三)
User(id=2, name=李四)
2024-09-23T21:17:06.250+08:00  INFO 3416 --- [ionShutdownHook] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Shutdown initiated...
2024-09-23T21:17:06.256+08:00  INFO 3416 --- [ionShutdownHook] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Shutdown completed.

http://www.ppmy.cn/news/1529759.html

相关文章

保障电气安全的电气火灾监控系统主要组成有哪些?

电气火灾是什么&#xff1f; 电气火灾一般是指由于电气线路、用电设备、器具以及供配电设备出现故障性释放的热能&#xff1a;如高温、电弧、电火花以及非故障性释放的能量&#xff1b;如电热器具的炽热表面&#xff0c;在具备燃烧条件下引燃本体或其他可燃物而造成的火灾&…

分享开源且强大的HTML5网页视频播放器

随着互联网技术的飞速发展&#xff0c;视频内容已成为现代网络体验中不可或缺的一部分。无论是在线教育、娱乐还是企业宣传&#xff0c;高质量的视频播放器都是确保用户获得良好观看体验的关键。HTML5的出现极大地推动了网页视频播放技术的进步&#xff0c;逐渐取代了传统的Fla…

火车站高铁站站点时刻查询网站计算机毕设/动车站点时刻查询

创建一个关于火车站高铁站站点时刻查询的毕业设计项目&#xff0c;是一个非常实际且具有挑战性的任务。这样的项目不仅能帮助学生综合运用所学知识&#xff0c;还能够为用户提供便捷的服务。下面将详细说明项目的各个方面&#xff1a; 1. 需求分析 用户需求&am…

统信服务器操作系统进入【单用户模式】

统信服务器操作系统D版、E版、A版进入单用户模式的方式。 文章目录 前言一、问题现象二、问题原因三、解决方案1. D版问题解决方案2. E版及A版问题解决方案前言 D版又称企业版、E版又称欧拉版、A版又称龙蜥版。 单用户模式主要是在 grub2 引导时编辑内核引导,一般用于修改用…

Android中的Activity生命周期和启动流程及优化策略

目录 第一章 Activity生命周期概述 1.1 生命周期概念及状态 1.1.1 生命周期概念 1.1.2 状态转换 1.2 生命周期回调方法 1.2.1 关键回调方法 1.2.2 回调方法的作用 1.3 生命周期管理策略 1.3.1 合理管理资源 1.3.2 优化加载过程 第二章 Activity启动流程详解 2.1 Ac…

计算机毕业设计之:基于微信小程序的电费缴费系统(源码+文档+讲解)

博主介绍&#xff1a; ✌我是阿龙&#xff0c;一名专注于Java技术领域的程序员&#xff0c;全网拥有10W粉丝。作为CSDN特邀作者、博客专家、新星计划导师&#xff0c;我在计算机毕业设计开发方面积累了丰富的经验。同时&#xff0c;我也是掘金、华为云、阿里云、InfoQ等平台…

从局部到全局:深入理解Java Web的作用域机制

前言 Servlet的四个作用域是Page、Request、Session和Application&#xff0c;它们各自具有不同的作用范围、生命周期和用途。 四大作用域 1. Page作用域 作用范围&#xff1a; 局限于当前JSP页面或Servlet的响应中。当请求到达时开始&#xff0c;响应结束时销毁。 生命周…

使用Hutool-poi封装Apache POI进行Excel的上传与下载

介绍 Hutool-poi是针对Apache POI的封装&#xff0c;因此需要用户自行引入POI库,Hutool默认不引入。到目前为止&#xff0c;Hutool-poi支持&#xff1a; Excel文件&#xff08;xls, xlsx&#xff09;的读取&#xff08;ExcelReader&#xff09;Excel文件&#xff08;xls&…