大家好!今天我要和大家分享一个非常实用的Java库:enums-spring-boot-starter。这个库能帮助你在数据库操作和接口传参过程中自动转换枚举类型,让你在不同场景中更方便地使用Java枚举类型。
为什么要使用enums-spring-boot-starter?
在日常开发中,我们经常使用枚举类型来表示不同的状态或类型。然而,当我们将枚举类型保存到数据库或在接口传参时,通常需要手动进行转换。这不仅让代码变得繁琐,还容易出错。
enums-spring-boot-starter库的目的就是简化这个过程。它提供了以下功能:
- 自动将枚举类型映射为数字类型,以便将其存储在数据库中
- 从数据库获取数据时,自动将数字类型装配为相应的枚举类型
- 在接口的前后端传参过程中,实现枚举类型与数字类型的自动转换
如何安装enums-spring-boot-starter?
要使用enums-spring-boot-starter,你可以在你的Maven或Gradle项目中添加以下依赖:
Maven
<dependency>
<groupId>io.gitee.zhucan123</groupId>
<artifactId>enums-spring-boot-starter</artifactId>
<version>1.1.8-RELEASE</version>
</dependency>
Gradle
implementation 'io.gitee.zhucan123:enums-spring-boot-starter:1.1.8-RELEASE'
如何使用enums-spring-boot-starter?
首先,在你的枚举类型上添加@EnumAutoConverter和@EnumScan注解,然后实现ExtensionEnum接口。
@Getter
@AllArgsConstructor
@EnumAutoConverter
@EnumScan
public enum OrderBillStateEnum implements ExtensionEnum {
PENDING_AUDIT(1, "待审核"),
PART_AUDIT(2, "部分审核通过"),
NOT_PASS(3, "审核不通过"),
UNCONFIRMED(5, "未确认"),
UNDER_COMPLAINT(7, "申诉中"),
CONFIRMED(9, "已确认");
private final int code;
private final String name;
}
示例:使用enums-spring-boot-starter自动转换枚举类型
1. 前端接收参数
前端传递枚举的code值,例如:http://localhost:8080/orders?billState=1。
@Data
public class PluginOrderBillQuery {
@ApiModelProperty("账单审核状态")
private OrderBillStateEnum billState;
}
2. 数据库映射对象
在实体类中直接使用枚举,enums-spring-boot-starter会自动将枚举转换为code值存储到数据库,读取数据库时将code值转换为枚举。
@Table(name = "plugin_order_bill")
@Entity
@Data
public class PluginOrderBill {
@Id
private Long id;
@Column(name = "bill_state")
private OrderBillStateEnum billState;
}
控制器层
在控制器层中,使用接收到的枚举类型直接查询数据库。@RestController @RequestMapping("/orders") public class OrderController { @Autowired private OrderService orderService; @GetMapping public List<PluginOrderBill> getOrders(PluginOrderBillQuery query) { return orderService.findOrders(query); } }
结论
enums-spring-boot-starter为Java开发人员提供了一种简便的方法来自动转换枚举类型,有效减少了手动转换带来的繁琐与错误。这款库在实际项目中应用广泛,节省了大量时间和精力。如果你还没有尝试过,赶快试试吧!
感谢阅读,希望你在开发过程中也能受益于enums-spring-boot-starter库。如果你对这个库感兴趣,可以前往Gitee查看更多详情。别忘了点赞 和分享给你的朋友们!
作者:すれ灿卜
链接:https://juejin.cn/post/7215542421542256700
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。