Mybatis向Oracle数据库写数据时报错:无效的列类型1111

1.出现这种报错最常见就是将null值插入数据库而未指定jdbcType。MySQL下直接插入null值时,在该字段允许为空时是不会有问题,Oracle就不行,需要显式指定jdbcType:

#{uploadTime,jdbcType=DATE}

2.另外,亲测当数据库表名写错时也会出现这种情况,因此若确定已显示指定了jdbcType,可以检查一下xml里是否存在写错数据库表名的情况。

附:jdbcType与java类型对应表:

JdbcType           Java数据类型  
CHAR                String  
VARCHAR             String  
LONGVARCHAR         String  
NUMERIC             java.math.BigDecimal  
DECIMAL             java.math.BigDecimal  
BIT                 boolean  
BOOLEAN             boolean  
TINYINT             byte  
SMALLINT            short  
INTEGER             INTEGER  
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]
发布了109 篇原创文章 · 获赞 34 · 访问量 12万+

猜你喜欢

转载自blog.csdn.net/shuaicenglou3032/article/details/102907832