springboot 数据转换 v1.7特色

想获取v1.6.0及以前版本的使用说明的朋友,可以移步:springboot 数据转换 v1.6.0特色


v1.7特色

本次涉及三次升级:

  • v1.7.0 添加了属性别名配置,可以在不修改数据库对应的字典名称的情况下,实现数据字典转换。
  • v1.7.1 在1.7.0的基础上,添加了字典表全表查询逻辑,设置modelName=“-1”,即为全表查询。
  • v1.7.2 更换了stars-datachange的mapper配置文件路径,mapper -> stars-mapper,目的:降低mapper配置文件扫描冲突。

1、 v1.7.0属性别名配置

1.1、DB场景

@ChangeModelProperty( alias = "20000")中,设置属性别名——alias,对应数据库中原有字典名称
在这里插入图片描述
从上图可以看到,1.7之前的版本,字典名称必须对应属性名称。在字典表已经成熟的情况下,再去修改字典名称为属性名称,可谓“鸡肋”。
1.7版本的到来,正是从“鸡肋”升级成了“鸡腿”。不需要修改现有字段表结构和数据,只需在属性注解上加上alias来对应字典名称,就完美解决数据转换问题了。

1.1.1、实现思路
1.1.1.1、 带有modelName的数据转换
(1)配置字典表名称和字段名

在这里插入图片描述

(2)设置modelName和属性别名

在这里插入图片描述

modelName对应父级数据的字典名称,这里自定义为100,默认为首字母小写的数据模型的模型名称。
在这里插入图片描述

(3)单元测试

在这里插入图片描述

1.1.1.2、 自定义数据转换

可以根据实际需求不使用modelName,实现字典表全部数据的数据转换。

(1)设置属性别名

字典表名称和字段名这个步骤就不用配置了,因为要自定义数据转换。
在这里插入图片描述

(2)重写数据字典逻辑

可根据现有字典表自己实现数据转换逻辑:
如:根据现有业务,去除父字典逻辑,查询所有数据字典。
在这里插入图片描述

添加自定义数据字典配置。
在这里插入图片描述

(3)单元测试

在这里插入图片描述

1.2、Enum场景

枚举别名映射的场景,可以用一个通用枚举,作为枚举字典。
在这里插入图片描述

(1)设置枚举字典和属性别名

在这里插入图片描述

(2)单元测试

在这里插入图片描述

2、 v1.7.1默认数据字典 全表查询逻辑

  • 本次升级,添加了默认数据字典的全表查询逻辑。
  • 之前的版本,默认数据字典 需要用key值,进行父字典下面数据字典的查询。无法跳过key值逻辑,进行字典表全表查询。
  • 现在,可以通过设置modelName="-1",来进行默认数据字典的全表查询了。
  • 比起1.7.0,需手动实现全表查询的逻辑,1.7.1的到来,已经默认实现了全表查询,不用自定义数据字典的配置,就已实现全表查询。

实现思路

(1)配置字典表名称和字段名

全表查询的配置,只需要字典表名、字典名称、字典代码、字典值等配置即可。在这里插入图片描述

(2)设置modelName为-1(必须) 和属性别名

这里,1.7.1版本,当modelName设置为"-1"时,系统才会默认它(key)为空,即——全表查询。
ps:modelName为其他值,那么还是老样子,key=modelName
在这里插入图片描述

(3)单元测试

单元测试前,把自定义数据字典的配置类,注释掉,才能看出1.7.1版本的功效。
在这里插入图片描述
在这里插入图片描述

3、 v1.7.2 mapper配置文件目录更换

  • 为了确保stars-datachange的稳定性。
  • 在1.7.2版本,绝定,对stars-datachange的mapper配置文件路径,进行更换。以防止,对使用者项目中mapper配置文件扫描时,丢失stars-datachange的mapper配置文件的问题。
  • 届时,使用stars-datachange的DB源模式,需要更换项目中stars-datachange的mapper配置文件扫路径。如下图:
    在这里插入图片描述

4、注意事项

demo传送门

4.1、ps: demo运行不起来,记得使用父工程的clean install

在这里插入图片描述

4.2、 使用DB源模式,记得配置stars-datachange的mapper配置文件路径

在这里插入图片描述

  • 9
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值