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] 

 

posted @ 2021-11-30 11:13  Dkwestworld  阅读(501)  评论(0编辑  收藏  举报