- 创建自定义转换器类,继承
org.springframework.core.convert.converter.Converter。
public class BooleanToShortConverter implements Converter<Boolean, Short> {
@Override
public Short convert(@Nullable Boolean source) {
return source != null ? (short) (source ? 1 : 0) : null;
}
}
public class ShortToBooleanConverter implements Converter<Short, Boolean> {
@Override
public Boolean convert(@Nullable Short source) {
return source != null ? source >= 1 : null;
}
}
- 添加至转换服务
@Bean
public MappingR2dbcConverter r2dbcConverter(R2dbcMappingContext mappingContext, R2dbcCustomConversions r2dbcCustomConversions) {
MappingR2dbcConverter mappingR2dbcConverter = new MappingR2dbcConverter(mappingContext, r2dbcCustomConversions);
GenericConversionService conversionService = (GenericConversionService) mappingR2dbcConverter.getConversionService();
conversionService.addConverter(Boolean.class, Short.class, new BooleanToShortConverter());
conversionService.addConverter(Short.class, Boolean.class, new ShortToBooleanConverter());
return mappingR2dbcConverter;
}