Java 教程-Mybatis教程-MyBatis自定义TypeHandler处理枚举

在绝大多数情况下,typeHandler 因为枚举而使用,MyBatis 已经定义了两个类作为枚举类型的支持,这两个类分别是:

  • EnumOrdinalTypeHandler。
  • EnumTypeHandler。

因为它们的作用不大,所以在大部分情况下,我们都不用它们,不过我们还是要稍微了解一下它们的用法。在此之前,先来建一个性别枚举类——SexEnum,代码如下所示。

package com.mybatis.po;

public enum SexEnum {
MALE(1, "男"), FEMALE(0, "女");
private int id;
private String name;

/**
* stter and getter
**/
SexEnum(int id, String name) {
this.id = id;
this.name = name;
}

public SexEnum getSexById(int id) {
for (SexEnum sex : SexEnum.values()) {
if (sex.getId() == id) {
return sex;
}
}
return null;
}
}

为了使用这个关于性别的枚举,可用以下 sql 语句创建 myUser 表。

CREATE TABLE `myuser` (  `id` bigint(20) NOT NULL,  `user_name` varchar(20) DEFAULT NULL,  `password` varchar(20) DEFAULT NULL,  `sex` char(1) DEFAULT NULL,  `mobile` varchar(20) DEFAULT NULL,  `tel` varchar(20) DEFAULT NULL,  `email` varchar(20) DEFAULT NULL,  `note` varchar(20) DEFAULT NULL,  PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;

Leave a Reply

Your email address will not be published. Required fields are marked *