Cause: java.lang.IllegalArgumentException: No enum constant org.apache.ibatis.type.JdbcType.TINYINT UNSIGNED
时间: 2023-09-30 16:07:31 浏览: 68
这个错误是因为 MyBatis 在处理数据库中的 TINYINT UNSIGNED 类型时,无法映射到 JdbcType 类型。解决方法是在 MyBatis 的配置文件中为这种类型添加一个映射关系,例如:
```xml
<typeHandlers>
<typeHandler jdbcType="TINYINT UNSIGNED" javaType="java.lang.Integer" handler="org.apache.ibatis.type.IntegerTypeHandler"/>
</typeHandlers>
```
这里使用了 IntegerTypeHandler 来处理 TINYINT UNSIGNED 类型,你可以根据自己的需求选择合适的 TypeHandler。
相关问题
Caused by: java.lang.IllegalArgumentException: No enum constant org.apache.ibatis.type.JdbcType.TINYINT UNSIGNED
这个错误通常是因为 MyBatis 默认的 JdbcType 不支持 TINYINT UNSIGNED 类型导致的。您可以尝试更改 MyBatis 的 JdbcType 设置,将 TINYINT UNSIGNED 类型映射为其他支持的类型,例如 SMALLINT 或 INTEGER。您可以在 MyBatis 配置文件中找到 JdbcType 的设置,例如:
```xml
<typeHandlers>
<typeHandler jdbcType="TINYINT UNSIGNED" javaType="java.lang.Integer"
handler="org.apache.ibatis.type.IntegerTypeHandler"/>
</typeHandlers>
```
您可以将上述配置更改为:
```xml
<typeHandlers>
<typeHandler jdbcType="TINYINT UNSIGNED" javaType="java.lang.Integer"
handler="org.apache.ibatis.type.SmallIntTypeHandler"/>
</typeHandlers>
```
这将把 TINYINT UNSIGNED 类型映射为 SMALLINT 类型。
Error resolving JdbcType. Cause: java.lang.IllegalArgumentException: No enum constant org.apache.ibatis.type.JdbcType.BigInteger
这个错误是因为Mybatis并没有提供JdbcType为BigInteger的枚举类型,而在parameterMap中你使用了BigInteger作为jdbcType的值。正确的做法是使用NUMERIC或者是BIGINT作为jdbcType的值。
所以你应该将parameterMap中orderNum的jdbcType修改为NUMERIC,例如:
```
<parameterMap id="orderStatusResult" type="Order">
<parameter property="orderNum" jdbcType="NUMERIC"/>
<parameter property="bookId" javaType="Integer"/>
</parameterMap>
```
希望能够帮到你。