java - Mybatis查询数据库时出现查询getInt()的错误
ringa_lee
ringa_lee 2017-04-18 10:56:22
0
1
914

我数据库表的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的

ringa_lee
ringa_lee

ringa_lee

全員に返信(1)
巴扎黑

マッピングの問題:

リーリー

resultClub と resultClubType の id 属性に対応する列名は両方とも id で、そのうちの 1 つの型は int です。 id属性对应的列名都是id,而其中一个的类型是int。

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

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

这个查询结果有两列ID

SQL の問題 (忘れずに質問を投稿して後でコードを投稿し、スクリーンショットを投稿して他の人がコードを試してみてください。手で入力できますか?):

リーリー

このクエリ結果には 2 つの列 ID があります。

解決策は非常に簡単です。プレフィックスを追加するなど、club_type_t 列のエイリアスを設定します。 リーリー 🎜mybatisのcolumnPrefixを使用します: 🎜 リーリー
いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート