sharding-jdbc水平垂直分库分表环境搭建

  • 资料
    分库分表的概念及应用场景详解
    分库分表带来的一些问题
    sharding-jdbc水平垂直分库分表环境搭建
    sharding-jdbc水平分库分表实战
    sharding-jdbc垂直分库分表实战

  • 使用docker启动两个mysql数据库

    docker run -it -e MYSQL_ROOT_PASSWORD=123456  -p 3306:3306   mysql
    docker run -it -e MYSQL_ROOT_PASSWORD=123456  -p 3307:3306   mysql
    

    在这里插入图片描述

  • 水平分表使用表创建
    1.结构如下:
    在这里插入图片描述
    2.表sql

    create table t_user_1
    (
    	user_id bigint null, //用户id
    	user_name varchar(20) null, //用户名称
    	user_age int null, //用户年龄
    	user_type int null //用户类型 1 会员 2 普通用户
    );
    create table t_user_2
    (
    	user_id bigint null, //用户id
    	user_name varchar(20) null, //用户名称
    	user_age int null, //用户年龄
    	user_type int null //用户类型 1 会员 2 普通用户
    );
    
  • 水平分库使用表创建
    1.结构如下:
    在这里插入图片描述
    2.表sql

    create table t_user
    	(
    		user_id bigint null, //用户id
    		user_name varchar(20) null, //用户名称
    		user_age int null, //用户年龄
    		user_type int null //用户类型 1 会员 2 普通用户
    	);
    
  • 垂直分表
    不测试,垂直分表我们每天都在用

  • 垂直分库
    1.表结构
    在这里插入图片描述
    2.表sql

    create table t_order
    (
    	order_id bigint null,
    	user_id bigint null,
    	order_price int null
    );
    
  • 项目环境
    为了让大家更了解sharding-jdbc的配置,决定先采用spring-jdbc方式访问,后面使用mybatis,和springBoot方式就知道详细的前因后果了,方便大家更好理解.

    1.创建一个java项目即可,我们使用简单的main做实验,比较容易搭建环境
    2.引入jar包

    <!--单独使用java代码配置方式-->
        <!-- https://mvnrepository.com/artifact/org.apache.shardingsphere/sharding-jdbc-core -->
        <dependency>
            <groupId>org.apache.shardingsphere</groupId>
            <artifactId>sharding-jdbc-core</artifactId>
            <version>4.1.1</version>
        </dependency>
    
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-jdbc</artifactId>
            <version>4.3.17.RELEASE</version>
        </dependency>
    
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.47</version>
        </dependency>
    
        <!--druid-->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.1.21</version>
        </dependency>
    

猜你喜欢

转载自blog.csdn.net/weixin_38312719/article/details/109137533
今日推荐