废话不多说,上建材吧!
最近因为工作需要研究服务器端数据预转换工具,所以通过百度搜索看到了各种不同的实现方式,其中的一些方法似乎让我眼前一亮。
通过Entity属性的get方法直接转换数据词典的第一种方法
Package com
Import com。
Import lombok。Builder
Import lombok。数据;
Import lombok。Getter
Import lombok。Setter
/* *
*用户信息
*
* @author: star
* @ date3360 2022-02-06
*/
@Builder
公共类UserInfoVo {
/* *
*用户名
*/
@Setter
@Getter
专用字串使用者名称(private String userName);
/* *
*角色
*/
@Setter
私有字符串角色;
public string getrole(string role){
return roleenum . gettextbycode(role);
}
}
第二种方法是在通过JSON序列化时进行转换。本例使用fastjson
Package com
import com . Alibaba .
import com . Alibaba .
import com . Alibaba .
Import com。
Import org。
import Java . lang . re;
Import java.u
/* *
* fast JSON序列化
*
* @author: star
* @ date3360 2022-02-06
*/
@Component
public class dictionary serializer implements object serializer {
/* *
*在序列化fast JSON时预转换数据
*
* @param serializer
* @param对象
* @param fieldName
* @param fieldType
* @param features
*/
@Override
Public void write (JSON serializer序列化程序、对象对象、对象文件名称、类型文件类型和要素){
If(对象){
serialize writer out=;
对象实例of integer(if){
Integer code=(Integer)object;
string name=role enum . gettextbycode(code);
out . writestring(name);
}
}
}
}
/* *
*导入用户
*
* @return UserVO用户数据
*/
@Override
public user VO getcurrentuserlocal(){
Return U()。userName(“猕猴桃”)。role(1)。build();
}package com。
import com . Alibaba .
Importcom.dictionary serializer
Import com。
Import lombok。Builder
Import lombok。数据;
import Java . io . serial izable;
/* *
*用户信息
*
* @author: star
* @ date3360 2022-02-06
*/
@Data
@Builder
public class user VO implements serial izable {
/* *
*用户名
*/
专用字串使用者名称(private String userName);
/* *
*角色
*/
@JSONField(serializeUsing=Dic)
Private Integer role
}
通过Json序列化转换,这比较方便,实现比较简单,优缺点明显。
优点:代码简单,技术成本低,能很快就实现数据字典的转换。
缺点:无法新增一个属性来额外显示字典文本,因为采用json序列化统一的配置所以会影响正常的json转化成bean
1.《数据字典怎么导出看这里!有趣的数据字典转换方式》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。
2.《数据字典怎么导出看这里!有趣的数据字典转换方式》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。
3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/gl/3330391.html