若依分离版整合多数据源——Phoenix+HBase

记录牢农若依分离版框架整合Phoenix+HBase一天的痛苦经历

1.在ruoyi-admin的pom.xml中引入依赖

        <!--大数据-->
        <dependency>
            <groupId>org.apache.phoenix</groupId>
            <artifactId>phoenix-queryserver-client</artifactId>
            <version>5.0.0-HBase-2.0</version>
            <exclusions>
                <exclusion>
                    <groupId>org.slf4j</groupId>
                    <artifactId>slf4j-log4j12</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>log4j</groupId>
                    <artifactId>log4j</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

2.将application-druid.yml的driverClassName配置注释掉,因为需要配置不同驱动类型的数据库连接

3.在master下添加driverClassName配置,并添加phoenix的连接

nebula:
    enabled: true #开启从库使用
    url: jdbc:phoenix:thin:url=http://ip:端口;serialization=PROTOBUF
    #虽然没有用户名和密码,但是username和password不能少
    username:
    password:
    driverClassName: org.apache.phoenix.queryserver.client.Driver
    validationQuery: SELECT 1 #自定义的验证查询

4.由于若依默认设置了durid连接池在初始化数据源的时候会执行select * dual验证查询,但Phoenix数据库中不存在名为 DUAL 的表,所以需要修改一下Phoenix数据源的验证查询为其支持的语法

5.在ruoyi-common的DataSourceType枚举类添加数据源标识

 6.修改ruoyi-framework的DruidConfig多数据源配置类,添加我们新增的数据源

7.(可选)修改ruoyi-framework下的DruidProperties,如果数据源已经有自定义的validationQuery,不要覆盖

8.数据源切换使用

只需要在需要使用不同数据源的mapper类/方法或者service类/方法上添加@DataSource注解即可切换数据源使用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值