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

2年前 (2022) 程序员胖胖胖虎阿
216 0 0

目录

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

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

Mybatis java MySQL
integer int OR java.lang.Integer INTEGER
long long OR java.lang.Long BIGINT
short short OR java.lang.Short SMALLINT
float float OR java.lang.Float FLOAT
double double OR java.lang.Double DOUBLE
big_decimal java.math.BigDecimal NUMERIC
character java.lang.String CHAR(1)
string java.lang.String VARCHAR
byte byte OR java.lang.Byte TINYINT
boolean boolean OR java.lang.Boolean BIT
yes_no boolean OR java.lang.Boolean CHAR(1) (‘Y’ OR ‘N’)
true_false boolean OR java.lang.Boolean CHAR(1) (‘Y’ OR ‘N’)
date java.util.Date OR java.sql.Date DATE
time java.util.Date OR java.sql.Time TIME
timestamp java.util.Date OR java.sql.TimeStamp TIMESTAMP
calendar java.util.Calendar TIMESTAMP
calendar_date java.util.Calendar DTAE
binary byte[] VARBINARY OR BLOB
text java.lang.String CLOB
serializable java.io.Seriailzable VARBINARY OR BLOB
clob java.sql.Clob CLOB
blob java.sql.Blob BLOB
class java.lang.Class VARCHAR
locale java.util.Locale VARCHAR
timezone java.util.TimeZone VARCHAR
currency java.util.Currency VARCHAR

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类型

相关文章

暂无评论

暂无评论...