关于ShardingSphere官网的坑-----java配置实现数据脱敏(或数据分片)

跟大家分享一下

用ShardingSphere实现数据脱敏

根据官网上的数据脱敏功能,添加依赖,我用的是4.1.0版本:

  <dependency>
            <groupId>org.apache.shardingsphere</groupId>
            <artifactId>sharding-jdbc-core</artifactId>
            <version>4.1.0</version>
 </dependency>

然后用Java配置:
在这里插入图片描述

其中有一句代码是这样的:

DataSource getEncryptDataSource() throws SQLException {
        return EncryptDataSourceFactory.createDataSource(DataSourceUtil.createDataSource("demo_ds"), getEncryptRuleConfiguration(), new Properties());
    }

DataSourceUtil.createDataSource(“demo_ds”) 这里会报红~~~

因为这个DataSourceUtil类是要自己写的~~~

这个类如果没有写,这里就配置不了!!!!!

坑!!!!!!!!!

找了好久,才在网上找到这个类的代码,感谢那位分享的大佬!!!1

我贴一下这个类,免得大家踩坑
创建数据源的工具类:

package com.irisian.sharedjdbc.masterandslave;

import javax.sql.DataSource;

import com.alibaba.druid.pool.DruidDataSource;

public class DataSourceUtil {
    private static final String URL_PREFIX = "jdbc:mysql://localhost:3306/";

    private static final String USER_NAME = "root";

    private static final String PASSWORD = "123456";

    public static DataSource createDataSource(final String dataSourceName) {
    DruidDataSource result = new DruidDataSource();

        result.setDriverClassName(com.mysql.jdbc.Driver.class.getName());

        result.setUrl(URL_PREFIX + dataSourceName);

        result.setUsername(USER_NAME);

        result.setPassword(PASSWORD);

        return result;

    }

}

这样写了这个类,就可以用官网的代码进行Java配置了!

在开源的代码中看到这个类是这样写的:

import com.zaxxer.hikari.HikariDataSource;

import javax.sql.DataSource;

public final class DataSourceUtil {
    
    private static final String HOST = "localhost";
    
    private static final int PORT = 3306;
    
    private static final String USER_NAME = "root";
    
    private static final String PASSWORD = "";
    
    public static DataSource createDataSource(final String dataSourceName) {
        HikariDataSource result = new HikariDataSource();
        result.setDriverClassName("com.mysql.jdbc.Driver");
        result.setJdbcUrl(String.format("jdbc:mysql://%s:%s/%s?serverTimezone=UTC&useSSL=false&useUnicode=true&characterEncoding=UTF-8", HOST, PORT, dataSourceName));
        result.setUsername(USER_NAME);
        result.setPassword(PASSWORD);
        return result;
    }
}

参考:
shareding-jdbc实现读写分离最简单的容易理解示例

ShardingSphere官网_数据脱敏_JAVA配置

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值