目录

1. Mybatis常见类型对应的java和数据库的数据类型
2. Mybatis Plus处理json类型

Mybatis常见类型对应的java和数据库的数据类型

MybatisjavaMySQL
integerint OR java.lang.IntegerINTEGER
longlong OR java.lang.LongBIGINT
shortshort OR java.lang.ShortSMALLINT
floatfloat OR java.lang.FloatFLOAT
doubledouble OR java.lang.DoubleDOUBLE
big_decimaljava.math.BigDecimalNUMERIC
characterjava.lang.StringCHAR(1)
stringjava.lang.StringVARCHAR
bytebyte OR java.lang.ByteTINYINT
booleanboolean OR java.lang.BooleanBIT
yes_noboolean OR java.lang.BooleanCHAR(1) (‘Y’ OR ‘N’)
true_falseboolean OR java.lang.BooleanCHAR(1) (‘Y’ OR ‘N’)
datejava.util.Date OR java.sql.DateDATE
timejava.util.Date OR java.sql.TimeTIME
timestampjava.util.Date OR java.sql.TimeStampTIMESTAMP
calendarjava.util.CalendarTIMESTAMP
calendar_datejava.util.CalendarDTAE
binarybyte[]VARBINARY OR BLOB
textjava.lang.StringCLOB
serializablejava.io.SeriailzableVARBINARY OR BLOB
clobjava.sql.ClobCLOB
blobjava.sql.BlobBLOB
classjava.lang.ClassVARCHAR
localejava.util.LocaleVARCHAR
timezonejava.util.TimeZoneVARCHAR
currencyjava.util.CurrencyVARCHAR

Mybatis Plus处理json类型

  1. 实体类中某个字段属性是List,Map 之类的可以转为json格式,其在MySQL中存储字段类型可以设置为Json类型,如果使用Mybatis Plus 则可以使用其中的注解@TableField(typeHandler = JacksonTypeHandler.class),将list、map等类型映射为json存入数据库中。
@TableField(typeHandler = JacksonTypeHandler.class)
  1. 在取出json数据的时候,有以下两种情况处理。
  • 当没有使用到xml时:
@TableName(value = "person",autoResultMap = true)
  • 当使用了xml文件时:
<result property="advance" column="advance" typeHandler="com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler"/>

参考博客1:mybatis中各种数据的映射类型
参考博客2:MybatisPlus处理Mysql的json类型

更多推荐

MyBatis各种数据类型映射对应及mybatis plus中 List、Map等类型映射为json