网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

基于SpringBoot+Mybatis的SaaS平台搭建-创新互联

SaaS平台是什么

成都创新互联公司服务项目包括岚皋网站建设、岚皋网站制作、岚皋网页制作以及岚皋网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,岚皋网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到岚皋省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!

  英语Software-as-a-Service ,就是提供软件服务的平台。基于JavaWeb的思想,可以在线上部署一套程序,根据权限将租户逻辑上分离,让每个租户具有独立的数据空间,当然也可以在数据库层面可以根据标识在同一个表中数据独立,也可以根据不同的租户设立不同的数据库进行数据独立。考虑到后续租户可能会大概率脱离SaaS平台私有搭建,所以本篇文章是以分库的方式实现SaaS平台。

MyBatis如何实现动态数据源

  话不多说,直接上代码

public class DynamicRoutingDataSource extends AbstractRoutingDataSource {

    private static MaptargetTargetDataSources = new ConcurrentHashMap<>();

    @Override
    protected Object determineCurrentLookupKey() {
        // 每次连接数据库,都会去设置数据源
        return DynamicDataSourceContextHolder.getDataSourceKey();
    }

    // 设置targetDataSources并记录数据源(这里可以记录每个数据源的最近使用时间,可以做删除不经常使用的数据源)
    @Override
    public void setTargetDataSources(MaptargetDataSources) {
        super.setTargetDataSources(targetDataSources);
        super.afterPropertiesSet();
        targetTargetDataSources = targetDataSources;
    }

    // 添加数据源
    public void addDataSource(String tenant, MapdataSourceProperties) {
        targetTargetDataSources.put(tenant, dataSource(dataSourceProperties));
        super.setTargetDataSources(targetTargetDataSources);
        afterPropertiesSet();
    }

    // 判断是否存在数据源,存在直接取
    public boolean existDataSource(String tenant) {
        return targetTargetDataSources.containsKey(tenant);
    }

    // 组装数据源
    public DataSource dataSource(MapdataSourceProperties) {
        DataSource dataSource;
        try {
            dataSource = DruidDataSourceFactory.createDataSource(dataSourceProperties);
        } catch (Exception e) {
            throw new RuntimeException();
        }
        return dataSource;
    }
}

核心代码就这些。SaaS平台分库的方式,其实根据不同的用户,使用不同的数据源。

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


本文标题:基于SpringBoot+Mybatis的SaaS平台搭建-创新互联
当前路径:http://bjjierui.cn/article/cessij.html

其他资讯