jdbcType使用错误导致mapper注入失败,导致项目启动失败
项目突然起不来..
Cause: org.apache.ibatis.builder.BuilderException: Error resolving JdbcType. Cause: java.lang.IllegalArgumentException:
No enum constant org.apache.ibatis.type.JdbcType.DATETIME
怀疑包扫描路径扫描配置错误..
怀疑mapper注解错误..
怀疑mapper编写路径问题..
看了将近一个小时,才发现是因为jdbcType编写错误的问题,
小伙伴写了一个类型:DATETIME
然而,MyBatis所支持的jdbcType类型只有以下几种:
BIT、 FLOAT、CHAR、TIMESTAMP、OTHER、 UNDEFINED
TINYINT、REAL、VARCHAR、BINARY、BLOB、 NVARCHAR
SMALLINT、DOUBLE、LONGVARCHAR、VARBINARY、CLOB、NCHAR
INTEGER、NUMERIC、DATE、 LONGVARBINARY、BOOLEAN 、NCLOB
BIGINT、DECIMAL、TIME、NULL、CURSOR
嗯嗯..因为myBatis枚举不出 DATETIME,所以报错了..没毛病,Java它再次证明我是愚蠢的..
那么,下面总结一下 Mybatis中javaType和jdbcType关系对照表
JDBC Type Java Type
CHAR String
VARCHAR String
LONGVARCHAR String
NUMERIC java.math.BigDecimal
DECIMAL java.math.BigDecimal
BIT boolean
BOOLEAN boolean
TINYINT byte
SMALLINT short
INTEGER int
BIGINT long
REAL float
FLOAT double
DOUBLE double
BINARY byte[]
VARBINARY byte[]
LONGVARBINARY byte[]
DATE java.sql.Date
TIME java.sql.Time
TIMESTAMP java.sql.Timestamp
CLOB Clob
BLOB Blob
ARRAY Array
DISTINCT mapping of underlying type
STRUCT Struct
REF Ref
DATALINK java.net.URL[color=red][/color]