要在存储到 MySQL 时使用枚举的代码值,然后在读取时将其转换为枚举对象,你可以使用 MyBatis 的类型处理器(TypeHandler)来实现这一点。在你的情况下,你已经有了一个 PersonIdTypeHandler 类,这是一个类型处理器,用于处理 PersonIdType 枚举类型。
确保 PersonIdTypeHandler 类正确地将枚举类型的代码值存储到 MySQL,并在从数据库中读取时将其转换回枚举对象。这可以通过在 PersonIdTypeHandler 类中覆盖 getResult 和 setParameter 方法来实现。
在 PersonIdTypeHandler 类中,覆盖 getResult 方法以将从数据库中读取的值转换为枚举对象,并覆盖 setParameter 方法以将枚举对象转换为存储在数据库中的值。
这样,当你从数据库中读取 person_id_type 字段时,PersonIdTypeHandler 类会将存储的代码值转换为相应的枚举对象。而在将枚举对象写入数据库时,PersonIdTypeHandler 类会将枚举对象转换为其代码值。
例如:
public enum PersonIdType {