MyBatis数据库字段映射Java枚举
2019-07-15 本文已影响2人
7e86aaa7b08a
有时候我们需要将数据库的字段对Java的枚举类型进行映射,比如说我们有一个汽车配件类型的枚举

该枚举类型实现了一个接口

有一个配件分类的实体类,包含了该枚举字段(此处只包含部分字段属性)

而在数据库中的表结构如下

dao方法如下(通过id查找一个配件分类,并实例化)

mapper映射文件如下

我们可以看到这里有一个映射处理器typeHandler="com.cloud.productprovider.untils.DbEnumTypeHandler"
该映射处理器的代码如下


经测试返回的结果对象的Json字符串如下
{"code":"0000001","id":1,"name":"油品","productType":"TYPE1","sort":1}