在用mybatis-plus的分页器,想要返回一个直接给前端显示的全字符串对象。其他值都是String或者使用join找到id对应的String,但是这个怎么转成是否呢?我想到的粗暴办法是再加一个表,单放两条,id=0 string = '否',id = 1 string = '是',然后join一下。但是这太丑了,感觉这两天写了好多太丑的逻辑了/(ㄒoㄒ)/~~
在用mybatis-plus的分页器,想要返回一个直接给前端显示的全字符串对象。其他值都是String或者使用join找到id对应的String,但是这个怎么转成是否呢?我想到的粗暴办法是再加一个表,单放两条,id=0 string = '否',id = 1 string = '是',然后join一下。但是这太丑了,感觉这两天写了好多太丑的逻辑了/(ㄒoㄒ)/~~
顺带再补一个更有意思的实现方式,适用场景:静态字典数据,即字典内容严密切合业务,不会随业务变动
Mybatis查询出的内容,可以自动序列化成枚举对象,利用Jackson的自定义枚举序列化就可以了,甚至可以写一个通用配置的枚举接口,上面用注解标注序列化、反序列化所使用的方法
可以看下若依系统开源的,是有字典表统一管理的,前后端分离。
http://vue.ruoyi.vip/system/d...
简单来说就是后端返回
数据 data = {sex:1} 和字典 dic = {1:"男",2:"女"}。
然后前端匹配dic[data.sex]
输出就是 “男”了
业务复杂,需要很多对象的。
https://www.jianshu.com/p/d9c...
Java中的PO、VO、DTO、BO、POJO、BO/DO、DAO
3 回答1.3k 阅读✓ 已解决
6 回答925 阅读✓ 已解决
4 回答660 阅读✓ 已解决
5 回答881 阅读
2 回答501 阅读✓ 已解决
2 回答427 阅读✓ 已解决
2 回答501 阅读
这种情况下,建议使用 MySQL 中 CASE WHEN 语句,你可以把它看做是 Java 语法中的 if
以你描述的情况举例:0 = 否、1 = 是
首先你得在你的实体类中,增加一个类型为 String 的字段,用来接收这个转换后的值
你用了 mybatis-plus,那么记得在该字段上面加上
@TableField(exist = false)
这个注解,以表示当前属性不是数据库的字段SQL 部分:
有关更详细的 CASE WHEN 语句用法,建议你在互联网搜索学习一下