项目场景:
springboot+mybatis项目
问题描述
项目启动出现报错:No enum constant org.apache.ibatis.type.JdbcType
原因分析:
出现这个问题大概率是因为在mapper.xml里设置属性JdbcType类型错误
解决方案:
JdbcType设置正确类型,当然要和数据库配置一致,常用JdbcType和java type对应表
JDBC TYPE | JAVA TYPE |
---|---|
CHAR、VARCHAR、LONGVARCHAR | String |
NUMERIC、DECIMAL | java.math.BigDecimal |
BIT、BOOLEAN | boolean |
TINYINT | byte |
SMALLINT | short |
INTEGER | int |
BIGINT | long |
REAL | float |
FLOAT、DOUBLE | double |
BINARY、VARBINARY、LONGVARBINARY | byte[] |
DATE | java.sql.Date |
TIME | java.sql.Time |
TIMESTAMP | java.sql.Timestamp |
ARRAY | Array |
查看mapper.xml映射文件,果然javatype类型是byte,这里使用的类型也是byte,JDBC TYPE 不存在这个类型,应该使用TINYINT,修改掉,启动正常使用
总结:
mybatis类型和java类型常用对应关系使用