Skip to content

内置列类型映射

huiche是单向的数据读写,仅根据java侧类型决定数据的读写方式,跟数据库中实际类型无关,只需要支持对应的读写方式即可

说明

  • 读取方式对应的是ResultSet的方法,写入方式对应的是PreparedStatement下的方法
  • 读取数据时,如果对应类型为基本类型,会返回其默认值,0/false/'\0'
java类型读取方式写入方式说明
boolean/BooleangetBooleansetBoolean
byte/BytegetBytesetByte
char/CharactergetStringsetString
double/DoublegetDoublesetDouble
float/FloatgetFloatsetFloat
int/IntegergetIntsetInt
long/LonggetLongsetLong
short/ShortgetShortsetShort
StringgetStringsetString如果useNational=true
会使用getNString/setNString
byte[]getBytessetBytes
CurrencygetStringsetString如果useNational=true
会使用getNString/setNString
StringBuffergetStringsetString如果useNational=true
会使用getNString/setNString
StringBuildergetStringsetString如果useNational=true
会使用getNString/setNString
BigDecimalgetBigDecimalsetBigDecimal
BigIntegergetBigDecimalsetBigDecimal
InputStreamgetBinaryStreamsetBinaryStream
LocalegetStringsetString如果useNational=true
会使用getNString/setNString
ObjectgetObjectsetObject
PathgetStringsetString如果useNational=true
会使用getNString/setNString
ReadergetCharacterStreamsetCharacterStream如果useNational=true
会使用getNCharacterStream/setNCharacterStream
UUIDgetStringsetString
DategetTimestampsetTimestamp
DurationgetLongsetLong
InstantgetTimestampsetTimestamp
LocalDategetDatesetDate
LocalDateTimegetTimestampsetTimestamp
LocalTimegetTimesetTime
OffsetDateTimegetTimestampsetTimestamp
ZonedDateTimegetTimestampsetTimestamp
java.sql.DategetDatesetDate
java.sql.TimegetTimesetTime
java.sql.TimestampgetTimestampsetTimestamp
ZoneIdgetStringsetString
Optional<?>根据实际类型根据实际类型
Enum<?>getString/getIntsetString/setIntEnumBy.NAME时是读写String,否则是读写Int
其他类型getStringsetString使用序列化转换器时才支持,作为兜底,读取时先getString然后反序列化, 写入时先序列化为String然后setString

您可以通过自定义映射来覆盖内置的类型映射,参考自定义列类型映射