好久没有写技术文章了,那就重新捡起来,从今天开始,分享这段时间的收获吧
------------
其实很多时候,我们只需要鱼,而不是渔,呐,给你鱼。
这次的分享主题是日常开发中,关于ID转Name的问题,常见的处理就两个方案:
- 后端直接转换,前端只负责显示
- 前端转换(常见的vue 过滤器等),后台不做任何处理
那么在什么时候应该选择什么方案呢,一般来讲会根据待转换数据的数量来决定,5k条以内两个方案都没有问题,但是数据量太大了之后再选择前端转换的方案就会出现明显的卡顿,和加载缓慢的问题,所以会选择后台来处理,今天就给大家一个做好的鱼,拿好了,开始发了哈~如图,思路很简单,把工具当做一个容器,容器只提供两个方法:
- 方法一用来接收数据源;
- 方法二用来id转换成name
先看使用的例子吧:
带转换实体:
import java.util.Date;
@Data
public class DemoEntity {
//默认转换模式,转换到新的字段,默认字段名:原属性名+“_str”
@IdToName
private Integer aId;
//转换覆盖原属性
@IdToName(NewField = false)
private Integer bId;
//转换到新的字段,新字段名为 "cId_str"
@IdToName(Alias = "cId_str")
private Integer cId;
//格式化时间,默认格式为 "yyyy-MM-dd"
@IdToName(DateFormat = true)
private Date startTime;
//格式化时间,格式为 "yyyy-MM-dd HH:mm:ss"
@IdToName(DateFormat = true, FormatStr = "yyyy-MM-dd H