java - Mybatis查询数据库时出现查询getInt()的错误

 性感让晚安回忆流淌_507 发布于 2022-10-26 22:52

我数据库表的id是varchar类型,而已这条数据也是项目插入到数据库的,但是在后面查询的时候就出现了一下错误。

严重: Servlet.service() for servlet [SpringMVC] in context with path [/cims-ssm] threw exception [Request processing failed; nested exception is org.springframework.dao.TransientDataAccessResourceException: Error attempting to get column 'id' from result set.  Cause: java.sql.SQLException: Invalid value for getInt() - 'x41D6z93'
; SQL []; Invalid value for getInt() - 'x41D6z93'; nested exception is java.sql.SQLException: Invalid value for getInt() - 'x41D6z93'] with root cause
java.sql.SQLException: Invalid value for getInt() - 'x41D6z93'

这是错误信息,以下是相关代码


这是查询映射代码

我代码在数据库里就能查询出来

望各位看看
对了 model中 club中的id属性是string的

1 个回答
  • mapping的问题:

    <resultMap id="resultClubType" type="com.uiyllong.cims.model.ClubType">
        <id column="id" jdbcType="INTEGER" property="id" />
        <!-- 省略 -->
    </resultMap>
    <resultMap id="resultClub" type="com.uiyllong.cims.model.Club">
        <id column="id" jdbcType="VARCHAR" property="id" />
        <!-- 省略 -->
        <association column="club_type_id" jdbcType="INTEGER"
            property="clubType" javaType="com.uiyllong.cims.model.ClubType"
            resultMap="resultClubType" />
    </resultMap>

    resultClub和resultClubType的id属性对应的列名都是id,而其中一个的类型是int。

    sql的问题(记得以后贴问题把代码贴上来,贴截图让人家怎么拿你代码试,手敲吗?):

    select club_t.id, ...
    club_type_t.id
    ....

    这个查询结果有两列ID

    解决办法很简单,把 club_type_t 列设置别名,比如添加前缀:

    select club_t.id, ...
    club_type_t.id ct_id, club_type_t.typeName ct_type_name

    利用mybatis的columnPrefix:

    <association property="clubType" 
      columnPrefix="ct_"
      notNullColumn="ct_id"
      resultMap="resultClubType" />
    2022-10-27 01:36 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有