项目场景:

springboot+mybatis项目


问题描述

项目启动出现报错:No enum constant org.apache.ibatis.type.JdbcType


原因分析:

出现这个问题大概率是因为在mapper.xml里设置属性JdbcType类型错误


解决方案:

JdbcType设置正确类型,当然要和数据库配置一致,常用JdbcType和java type对应表

JDBC TYPEJAVA TYPE
CHAR、VARCHAR、LONGVARCHARString
NUMERIC、DECIMALjava.math.BigDecimal
BIT、BOOLEANboolean
TINYINTbyte
SMALLINTshort
INTEGERint
BIGINTlong
REALfloat
FLOAT、DOUBLEdouble
BINARY、VARBINARY、LONGVARBINARYbyte[]
DATEjava.sql.Date
TIMEjava.sql.Time
TIMESTAMPjava.sql.Timestamp
ARRAYArray

查看mapper.xml映射文件,果然javatype类型是byte,这里使用的类型也是byte,JDBC TYPE 不存在这个类型,应该使用TINYINT,修改掉,启动正常使用

总结:

mybatis类型和java类型常用对应关系使用