mybatis 和 ibatis 不支持 jdbcType=BIGDECIMAL

jdbcType=BIGDECIMAL not supported in mybatis and ibatis

myBatisibatis 中不支持使用 jdbcType=BIGDECIMAL 并抛出下一个错误:

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

jdbcType 替代 BIGDECIMAL 的方法是什么?

我正在使用 mybatis-3.4.4 版本

这是因为 BIGDECIMAL jdbc 类型不存在。看看 org.apache.ibatis.type.

的枚举 JdbcType

你应该使用 DECIMAL.


JdbcType enum 中可用的 JdbcType 列表:

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);

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

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