上一篇文章`数据库敏感字段脱敏集成了shading-jdbc-core-4.0.1 后续的业务遇到了很多坑,于是决定升级,花了好大劲升级到了4.1.1,发现还是好多坑,于是又花了好大劲总算升级到了5.3.2,才摆脱这些坑,但是还是有一点小问题,不支持将加解密字段作为临时表的条件。
4.0.1 不支持sql的if语句,group by,子查询等语句,而4.1.1不支持别名的查询,查看官方的更新日志,发现别名查询的问题在5.3.1修复的。
虽然大版本间差异非常大,但是还是建议使用最新版,5.3.2版本需要依赖snackeyaml 版本1.33 不然会报找不到setPointLimit方法的错误。
springboot项目下我们可以使用两种方式进行集成一种是直接引用starter组件,第二种是自己手工集成,可以让配置更简单点
shardingshpere-jdbc 5.x版本包有点多,可以花点时间整理下它对应的包,看下哪些包是没有必要的可以移除掉。
使用starter方式集成
引入starter依赖
<dependency>
<groupId>org.apache.shardingsphere</groupId>
<artifactId>shardingsphere-jdbc-core-spring-boot-starter</artifactId>
<version>5.2.1</version>
</dependency>
然后可以根据官方文档直接配置即可
集成方式二:手工集成
引入依赖
<dependency>
<groupId>org.apache.shardingsphere</groupId>
<artifactId>shardingsphere-jdbc-core</artifactId>
<version>5.3.2</version>
</dependency>
编写配置类
@Configuration
public class EncryptDatasourceConfiguration {
@Value("${spring.datasource.druid.driver-class-name}")
String

文章讲述了在使用ShardingSphere进行数据库敏感字段脱敏时遇到的问题,从4.0.1到4.1.1再到5.3.2的升级过程中碰到的挑战,包括不支持SQL的特定语句和别名查询等。作者建议使用最新版本5.3.2,并提供了SpringBoot项目中两种集成方式,同时分享了手动集成的配置代码示例。文章还讨论了如何处理历史数据的平滑过渡策略。
606

被折叠的 条评论
为什么被折叠?



