mybatis和ibatis不支持jdbcType = BIGDECIMAL

时间:2017-05-11 09:28:22

标签: jdbc mybatis ibatis spring-mybatis

jdbcType=BIGDECIMALmyBatis不支持使用ibatis,并且会抛出下一个错误:

Error resolving JdbcType. Cause: java.lang.IllegalArgumentException: 
No enum constant org.apache.ibatis.type.JdbcType.BIGDECIMAL

什么是jdbcType替代BIGDECIMAL

我正在使用mybatis-3.4.4版本

2 个答案:

答案 0 :(得分:1)

这是因为BIGDECIMAL jdbc类型不存在。只需查看JdbcType的枚举org.apache.ibatis.type

您应该使用DECIMAL

JdbcType enum中可用的JdbcTypes列表:

ARRAY(2003),
BIT(-7),
TINYINT(-6),
SMALLINT(5),
INTEGER(4),
BIGINT(-5),
FLOAT(6),
REAL(7),
DOUBLE(8),
NUMERIC(2),
DECIMAL(3),
CHAR(1),
VARCHAR(12),
LONGVARCHAR(-1),
DATE(91),
TIME(92),
TIMESTAMP(93),
BINARY(-2),
VARBINARY(-3),
LONGVARBINARY(-4),
NULL(0),
OTHER(1111),
BLOB(2004),
CLOB(2005),
BOOLEAN(16),
CURSOR(-10),
UNDEFINED(-2147482648),
NVARCHAR(-9),
NCHAR(-15),
NCLOB(2011),
STRUCT(2002),
JAVA_OBJECT(2000),
DISTINCT(2001),
REF(2006),
DATALINK(70),
ROWID(-8),
LONGNVARCHAR(-16),
SQLXML(2009),
DATETIMEOFFSET(-155);

答案 1 :(得分:0)

通过使用以下类型处理程序,我已经解决了相同的问题:

<insert id=".......">
INSERT INTO demo (number_of_cities)
VALUES( #{numberOfCities, typeHandler=org.apache.ibatis.type.BigDecimalTypeHandler});
</insert>