原文网址:SpringBoot--在Entity(DAO)中使用枚举类型_IT利刃出鞘的博客-CSDN博客
本文介绍SpringBoot如何在Entity(DAO)中使用枚举类型。(本文使用MyBatis-Plus)。
在实际开发中,经常会遇到表示类型或者状态的情况,比如:有三种支付方式:微信、支付宝、银联。本文介绍如何这种场景的方案对比,并用实例来介绍如何用枚举这种最优雅的来表示。
本处列举表示类型或状态的常用方法的对比。
法1:使用数字表示(不推荐)
- //1:支付宝支付;2:微信支付;3:银行卡支付
- private Integer payType;
这种方法的缺点:可读性极差,排查问题也麻烦。比如:前端页面上看到了2这个类型,还要看接口文档或者问后端这是什么意思,浪费时间!
法2:使用字符串表示(不推荐)
- //ALIPAY:支付宝;WECHAT_PAY:微信;BANK_CARD_PAY:银行卡支付
- private String payType;
这种方式比法1好一些了,提高了数据库的可读性和排查问题速度。
缺点:难以控制不允许数据库的pay_type为空字符串这种情况;支持的类型没有限制死,前端传个其他的字符串也能存入数据库。
法3:使用枚举表示(推荐)
枚举是这种场景最好的方案(枚举本身就是为了表示可穷举类型而发明出来的!)。
上边是本文的部分内容,为便于维护,全文已转移到此网址:SpringBoot-在Entity(DAO)中使用枚举类型 - 自学精灵