Spring boot分库分表方案

date
Sep 11, 2019
URL
slug
springboot-table-database
status
Published
tags
springboot
summary
Spring boot分库分表方案
type
Post

问题

因业务原因需要实现查询多库操作,目前多个库中表结构相同。
同时使用mysql数据库和sqlserver数据库。

Sharding-jdbc方案

项目配置

依赖

配置sharding-jdbc参数

存在问题

使用后发现,sqlserver数据库中nvarchar类型无法对应java中String类型,报错如下:
暂未找到解决办法,改用mycat.

Mycat方案

mycat官网 http://mycat.io/

mycat配置

server.xml

schema.xml

server.xml中user标签对应schema.xml中writeHost标签的user.

rule.xml

不使用规则可不配置rule.xml (待研究.

启动mycat

mycat启动后默认端口为8066,用户名、密码、数据库为server.xml中user的配置.例:
mycat启动后,项目中配置数据源后即可使用.

使用多数据源

同时链接mysql和mycat。

参考:


© Akapril 2018 - 2024