美文网首页
2020.05.05 springboot+sharding-j

2020.05.05 springboot+sharding-j

作者: 薛定谔的猴子 | 来源:发表于2020-05-05 22:00 被阅读0次

sharding-jdbc具体使用方式

一、先在pom.xml中引入依赖

        <dependency>
            <groupId>org.apache.shardingsphere</groupId>
            <artifactId>sharding-jdbc-spring-boot-starter</artifactId>
            <version>4.0.1</version>
        </dependency>

需要注意的是,此时druid不能用spring-boot-starter版本的,需要用正常的包,不然启动会报错找不到url

        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.1.22</version>
        </dependency>

二、修改原有的数据源配置

spring:
    shardingsphere:
        datasource:
            names: ds0
            ds0:
                type: com.alibaba.druid.pool.DruidDataSource
                url: jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
                username: root
                password: 456123
        sharding:
            tables:
                table_data:
                    actual-data-nodes: ds0.table_data$->{0..4}
                    table-strategy:
                        inline:
                            sharding-column: id
                            algorithm-expression: table_data$->{id % 5}
            defaultDataSourceName: ds0
        props:
            sql.show: true

具体其他配置项,可参考官方文档

配置文件解释:
1、datasource支持添加多个数据库,只需在names中用逗号隔开,并在下方逐个描述即可。这里只用一个,简称为ds0

2、在tables中标注配置需要分表的数据表,现在我们需要处理的分表是table_data,范围是0到4。


  • actual-data-nodes 代表分表的范围
  • sharding-column 代表取模的字段,这里是id
  • algorithm-expression 代表分表的规则,这里是是对id取模,取模因子是5

三、mybatis对分表的查询

因为数据源改用sharding-jdbc,并配置table_data为table_data$->{0..4},因此在查询语句中,直接使用table_data作为查询表明即可。例如:

1、查询语句,代表查询table_data$->{0..4}四个表

SELECT * FROM table_data

相关文章

  • 2020.05.05 springboot+sharding-j

    sharding-jdbc具体使用方式 一、先在pom.xml中引入依赖 需要注意的是,此时druid不能用spr...

  • 2020.05.05

    姓名:蔡江燕 公司:海南蔚蓝时代实业有限公司 组别:365期谦虚3组学员 【日精进打卡第766天】 【知~学习】 ...

  • 2020.05.05

    你将来发展的面有多大?你有没有壁垒?你的团队能不能跟上?这些问题就是问你的战略 团队 爱可以。,创业的红星就是一开...

  • 2020.05.05

    2020.05.05 01今天我做了什么? 1.今天主要做的一件事情就是调整我跟翔翔的作息时间,第1个是要保证翔翔...

  • 2020.05.05

    假期的最后一天,在父母家陪父亲。 父亲的脚肿了,脸也有些肿。病痛折磨他老人家,他不停地“唉哟唉哟”地叫着。 他生气...

  • 2020.05.05(突然)

    小涵 我想谈恋爱了 我想有人能陪陪我… 想用新欢来填补空虚 其实,我就是说说 我好累啊 感觉…你应该已经往前走了吧...

  • 2020.05.05 挑战夜的黑

    白天跑步, 晚上跳绳,这是最近的运动模式。 清晨,起床后,看天晴日朗,空气清新,心底就会掩饰不住的兴奋。果断换好运...

  • 随意杂念 (2020.05.05)

    今天是打卡第二天,本来想整理出一篇读书笔记来着,但是,好像都不知该如何下笔,选哪一本书好呢…… 这...

  • 前端面试每日 3+1 —— 第385天

    今天的知识点 (2020.05.05) —— 第385天 (我也要出题) [html] 使用history路由方式...

  • 2020-05-05

    2020.05.05 我的“半亩三分地” ——小径邂逅 早晨太阳刚刚升起...

网友评论

      本文标题:2020.05.05 springboot+sharding-j

      本文链接:https://www.haomeiwen.com/subject/xzgvghtx.html