springboot mysql 多租户_multitenancy-demo-springboot-jpa

multitenancy-demo-springboot-jpa

一个使用springboot+jpa实现多租户的小demo

此文参考了作者Gerard Vico的代码,几乎只是加了一些注释和执行来增加自己的立理解,如有错误,请理解和指出,让我们不断的进步!

https://github.com/HDBandit/multitenancy_springboot.git

实现结果:通过访问url时传入租户的唯一性标识,来区分此次访问所属租户的数据库,返回相关的数据信息

1、通过访问的url拿到租户的唯一性标识(这里使用拦截器中的HandlerMapping)来获取形如/{tenancyId}/xxxx/**中的租户标识,并将其存入request中,让后面可以使用。

2、配置租户的数据源,这里是一个租户一个数据源,并设置我们默认的租户,且默认租户只能为一个,数据源配置需要实现AbstractDataSourceBasedMultiTenantConnectionProviderImpl该抽象方法,还需要实现CurrentTenantIdentifierResolver来设置我们当前的租户(因为不仅仅只有默认的租户).

3、通过jpa来配置我们的LocalContainerEntityManagerFactoryBean,通过数据源集合和当前租户信息配置.

大致思路就是这样了,具体实现请看代码理解,代码基本已经鞋油注释。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值