如果你的实体字段是一个枚举类型,而在数据表里是整型,这时需要进行处理。我本次是用在查询,从mysql的int类型字段映射到枚举类型。
添加枚举处理器
@MappedJdbcTypes(JdbcType.INTEGER)
@MappedTypes(value = ElectricProtectConfigType.class)
public class ElectricProtectConfigTypeHandler extends BaseTypeHandler<ElectricProtectConfigType> {
@Override
public void setNonNullParameter(PreparedStatement preparedStatement, int i, ElectricProtectConfigType electricProtectConfigType, JdbcType jdbcType) throws SQLException {
if (electricProtectConfigType == null) {
return;
}
preparedStatement.setInt(i, electricProtectConfigType.getCode());
}
@Override
public ElectricProtectConfigType getNullableResult(ResultSet resultSet, String s) throws SQLException {
if (resultSet.wasNull())
return null;
return ElectricProtectConfigType.of(resultSet.getInt(s));
}
@Over