当前位置: 首页 > 后端技术 > Java

Java枚举类型自动转换神器:enums-spring-boot-starter

时间:2023-04-01 20:17:55 Java

大家好!今天想和大家分享一个非常好用的Java库:enums-spring-boot-starter。这个库可以帮助你在数据库操作和接口参数传递过程中自动转换枚举类型,让你在不同的场景下使用Java枚举类型更加方便。为什么要使用enums-spring-boot-starter?在日常开发中,我们经常使用枚举类型来表示不同的状态或类型。但是,当我们将枚举类型保存到数据库中或者在接口中传递参数时,我们通常需要手动进行转换。这不仅使代码繁琐,而且容易出错。enums-spring-boot-starter库的目的是简化这个过程。它提供了以下功能:自动将枚举类型映射为数字类型以便存入数据库,从数据库中获取数据时自动将数字类型组装成对应的枚举类型。如何安装enums-spring-boot-starter实现枚举类型和数字类型的自动转换?要使用enums-spring-boot-starter,您可以将以下依赖项添加到您的Maven或Gradle项目中:Mavenio.gitee.zhucan123enums-spring-boot-starter1.1.8-RELEASEGradleimplementation'io.gitee.zhucan123:enums-spring-boot-starter:1.1.8-RELEASE'如何使用enums-spring-boot-起动机?首先,在枚举类型上添加@EnumAutoConverter和@EnumScan注解,然后实现ExtensionEnum接口。@Getter@AllArgsConstructor@EnumAutoConverter@EnumScanpublicenumOrderBillStateEnumimplementsExtensionEnum{PENDING_AUDIT(1,"待审核"),PART_AUDIT(2,"部分通过审核"),NOT_PASS(3,"未通过审核"),UNCONFIRMED(5,"未确认"),UNDER_COMPLAINT(7,"申诉"),CONFIRMED(9,"已确认");私有最终代码;privatefinalStringname;}示例:使用enums-spring-boot-starter类型1自动转换枚举,前端接收参数,前端传递枚举的code值,例如:http://localhost:8080/订单?billState=1。@DatapublicclassPluginOrderBillQuery{@ApiModelProperty("BillAuditStatus")privateOrderBillStateEnumbillState;}2.数据库映射对象在实体类中直接使用枚举,enums-spring-boot-starter会自动将枚举转换为代码值存储到数据库,读取数据库时将code值转换为枚举。@Table(name="plugin_order_bill")@Entity@DatapublicclassPluginOrderBill{@IdprivateLongid;@Column(name="bill_state")privateOrderBillStateEnumbillState;}Controller层在controller层,使用接收到的enum直接按类型查询数据库。@RestController@RequestMapping("/orders")publicclassOrderController{@AutowiredprivateOrderServiceorderService;@GetMappingpublicListgetOrders(PluginOrderBillQueryquery){returnorderService.findOrders(query);}}结论enums-spring-boot-starter为Java开发者提供了一种自动转换枚举类型的简便方法,有效减少了手动转换带来的繁琐和错误。这个库在实际项目中被广泛使用,节省了大量的时间和精力。如果您还没有尝试过,请尝试一下!感谢阅读,希望你在开发过程中也能从enums-spring-boot-starter库中受益。如果你对这个库感兴趣,可以去Gitee了解更多详情。不要忘记喜欢和分享给你的朋友!作者:する参布链接:https://juejin.cn/post/7215542421542256700来源:稀土掘金版权归作者所有。商业转载请联系作者授权,非商业转载请注明出处。