jdbcType="BIGINT" 和class Long 不匹配
时间: 2023-07-06 11:30:54 浏览: 166
MyBatis常用的jdbcType数据类型
这是因为,在使用 MyBatis 进行数据库操作时,MyBatis 会将从数据库中查询到的数据转换成对应的 Java 类型,以便于在 Java 代码中进行处理。而在 MyBatis 中,JDBC 类型和 Java 类型之间存在一定的映射关系,可以通过 `jdbcType` 属性来指定查询结果应该转换成的 Java 类型。
在这个问题中,`jdbcType="BIGINT"` 表示查询结果的 JDBC 类型为 `BIGINT`,而 MyBatis 默认将 `BIGINT` 映射成 `java.lang.Long` 类型。因此,如果你在 MyBatis 的映射文件中将查询结果映射成 `Long` 类型,在执行查询操作时就不会出现类型不匹配的问题。
如果你确实需要将查询结果映射成其他类型,可以在映射文件中通过 `resultType` 属性来指定。例如,如果你希望将查询结果映射成 `java.math.BigInteger` 类型,可以这样写:
```
<resultMap id="myResultMap" type="java.math.BigInteger">
<result column="my_column" jdbcType="BIGINT"/>
</resultMap>
```
这样,在执行查询操作时,MyBatis 就会将查询结果转换成 `java.math.BigInteger` 类型,避免了类型不匹配的问题。
阅读全文