java enum 写入mysql_Java枚举自动转换存入MySQL

本文介绍了如何在SpringBoot MyBatis项目中,使用TypeHandler实现Java枚举(enum)与MySQL数据库之间的自动转换。通过自定义`StatusHandler`类,实现了将枚举直接作为实体类字段并能正确存取到数据库的方法。在配置文件中指定`mybatis.type-handlers-package`属性,确保TypeHandler生效。
摘要由CSDN通过智能技术生成

框架SpringBoot MyBatis TypeHandler

主要使用mybatis中的TypeHandler接口

在java中使用如下枚举:

public enum Status {

DELETED(-1, "已删除"),

NORMAL(1, "正常");

private final int code;

private final String text;

public int code() {

return code;

}

public String text() {

return text;

}

}

java中的entity:

public class DemoEntity{

private Long id;

private String name;

private Integer status;

}

如果我在java中使用枚举不用处理的情况下,存入到数据之前需要手动使用Status.code()获取到枚举的code,然后放入entity,才能获取通过mybatis存入数据库

如果我想在DemoEntity 中直接使用Status枚举,而且mybaits还能够正常存入,这个时候就需要用的TypeHandler

首先把entity修改为:

public class DemoEntity{

private Long id;

private String name;

private Status status;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值