添加枚举处理器
MappedTypes(value = {YesOrNo.class})public class UniversalEnumHandler
在配置文件指定处理器
mybatis-plus: typeHandlersPackage: cn.pilipa.account.cerebrum.client.enums #处理器所在包,我是把枚举处理器放在枚举包里
定义代表枚举键值的接口
public interface BaseEnum
定义一下枚举
public enum YesOrNo implements BaseEnum { Yes(1, "是"), No(0, "否"); private Integer code; private String text; YesOrNo(Integer code, String text) { this.code = code; this.text = text; } @JsonCreator public static YesOrNo jsonCreate(Integer code) { return EnumUtils.codeOf(YesOrNo.class, code); } @Override public Integer getCode() { return this.code; } @Override public String getText() { return this.text; } @JsonValue public Integer getCodeStr() { return this.code; }}
在实体中定义枚举类型字段
/** * 是否为国民. */ private YesOrNo naturalBorn;
生成的SQL语句
==> Preparing: INSERT INTO employee_info ( id, name, credit_number, status, first_time, tax_code, natural_born ) VALUES ( ?, ?, ?, ?, ?, ?, ? ) 2019-09-05 16:56:38.991 DEBUG [accounting-client,,,] 92833 --- [ main] c.p.a.c.c.m.EmployeeInfoMapper.insert : ==> Parameters: 1169534796253630466(Long), 段会涛(String), 130523199011111219(String), 1(Integer), 2019-09-05(Date), 130523199011111219(String), 0(Integer)