苞米豆-多数据源 2.3.2 发布:支持 spel 从参数获取数据源

小锅盖
 小锅盖
发布于 2018年10月19日
收藏 11

首先感谢 @心跳 捐赠的200元大红包,又可以给娃买罐奶粉了。

https://gitee.com/baomidou/dynamic-datasource-spring-boot-starter

dynamic-datasource-spring-boot-starter 是一个基于springboot的快速集成多数据源的启动器。

其支持 Jdk 1.7+, SpringBoot 1.4.x 1.5.x 2.0.x。最新版为2.3.2

演示例子 可参考项目下的samples目录

2.3.x版本主要做了以下改动。

  • 重构创建数据源类。废弃DataSourceFactory,改为Bean的DynamicDataSourceCreator。

  • 自动适配mybatisPlus。 移除参数的mp-enabled。

  • 新特性支持spel参数获取数据源。(重要 重要 重要

  @DS("#session.tenantName")//从session获取
    public List selectSpelBySession() {
        return userMapper.selectUsers();
    }

    @DS("#header.tenantName")//从header获取
    public List selectSpelByHeader() {
        return userMapper.selectUsers();
    }

    @DS("#tenantName")//使用spel从参数获取
    public List selectSpelByKey(String tenantName) {
        return userMapper.selectUsers();
    }

    @DS("#user.tenantName")//使用spel从复杂参数获取
    public List selecSpelByTenant(User user) {
        return userMapper.selectUsers();
    }

如果你还想对spel解析的参数进行进一步处理,请注入DynamicDataSourceSpelResolver

默认的DefaultDynamicDataSourceSpelResolver 没有对解析到的参数进行处理直接返回。

有了spel的支持,真正算得上动态了。 比如根据租户来切换数据源,比如根据用户id来切换数据源。

如果有问题可直接提ISSUE.

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 开源中国社区 [http://www.oschina.net]
本文标题:苞米豆-多数据源 2.3.2 发布:支持 spel 从参数获取数据源
加载中

最新评论(1

青苗
青苗
奶粉来一罐
返回顶部
顶部