将查询出来数据中相对应的字段根据枚举类更改为其中文内容

简介: 将查询出来数据中相对应的字段根据枚举类更改为其中文内容

🐓1.通过mapper.xml文件中的内容使用case+when进行更换字段内容

SELECT case  user_type
when '101000' then '李明'
when '101001' then '王丽'
when '101002' then '王小黑'
when '101003' then '王大黑'
when '101004' then '超级大王'
when '101005' then '小董'
else ''
end as '别称'
from 表名


虽然简单但是不推荐,会增加sql的查询时间,建议使用第二种方法,在业务层进行处理


🐓2.创建对应枚举类

第一步创建枚举类

public enum UserType {
 
    Enum1("101000","李明"),
    Enum2("101001","王丽"),
    Enum3("101002","王小黑"),
    Enum4("101003","王大黑"),
    Enum6("101004","超级大王"),
    Enum7("101005","小董");
 
    private String val;
    private String name;
  //生成get方法
    UserType(String itemCode, String name) {
        this.val = itemCode;
        this.name = name;
    }
 
    public String getVal() {
        return val;
    }
 
    public String getName() {
        return name;
    }
    
    //创建根据val值进行获取name值的方法
    public static String getUserTypeName(String val) {
        return Arrays.stream(UserType.values())
                .filter(userType -> userType.getVal().equals(val))
                .map(UserType::getName)
                .findFirst()
                .orElse(null);
    }
}


第二步查询sql并查询相对应的字段的数据

//执行其相对应的dao层查询业务相关数据
List<Map<String, Object>> billList=chargeBillDao.findByBill(参数)


第三步进行遍历

//将返回内容重新遍历,然后通过枚举类中的方法进行内容的替换
billList.forEach(bill->bill.put("对应字段",UserType.getUserTypeName(bill.get("对应字段名")))


相关文章
|
2月前
|
SQL 关系型数据库 MySQL
MySQL根据某个字段包含某个字符串或者字段的长度情况更新另一个字段的值,如何写sql
MySQL根据某个字段包含某个字符串或者字段的长度情况更新另一个字段的值,如何写sql
159 0
|
6月前
|
Java
【Java】— —实现人物对象的增、删、改、查(注:对象的删除以逻辑删除为主,在person类中设置“删除状态字段”,字删除该字段时,将状态改为有效。)
【Java】— —实现人物对象的增、删、改、查(注:对象的删除以逻辑删除为主,在person类中设置“删除状态字段”,字删除该字段时,将状态改为有效。)
|
JSON 安全 Go
Go 中使用 JSON 时,如何区分空字段和未设置字段
Go 中使用 JSON 时,如何区分空字段和未设置字段
602 0
|
关系型数据库 MySQL
mysql更新一个表中的姓名字段,随机取出姓,名部分截取该表中另外一个字段拼接...
mysql更新一个表中的姓名字段,随机取出姓,名部分截取该表中另外一个字段拼接...
251 0
mysql更新一个表中的姓名字段,随机取出姓,名部分截取该表中另外一个字段拼接...
|
存储 Java 编译器
JVM14_Class文件结构细节、魔数、Class文件版本、常量池、访问标识(或标志)、类索引|父类索引|接口索引集合、字段|方法|属性表集合(二)
③. 如何确保高版本的JVM可执行低版本的class文件? ④. 常量池(class文件的基石) ①. 什么是常量池? ②. 常量池计数器 ③. 常量池表
127 0
JVM14_Class文件结构细节、魔数、Class文件版本、常量池、访问标识(或标志)、类索引|父类索引|接口索引集合、字段|方法|属性表集合(二)
修改某个数据列的名字或者数据类型|学习笔记
快速学习修改某个数据列的名字或者数据类型
177 0
AddBook&nbsp;类的简单修改(增加注释文…
AddBook&nbsp;类的简单修改(增加注释文…
145 0