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]

 

更多推荐