我正在向其中一个mysql表插入值,并收到以下异常:
Could not set property 'id' of 'class com.mycom.myproject.db.mybatis.model.FeedEntry' with value '2' Cause: java.lang.IllegalArgumentException: java.lang.ClassCastException@175e216] with root cause.正在表中成功插入记录。在我的表中,id是自动递增的,主键是不为空的。在我的mapper类中我有
<insert id="insertSelective" parameterType="com.mycom.myproject.db.mybatis.model.Category" >
<!--
WARNING - @mbggenerated
This element is automatically generated by MyBatis Generator, do not modify.
This element was generated on Fri Aug 10 11:40:59 BST 2012.
-->
<selectKey resultType="java.lang.Integer" keyProperty="id" order="AFTER" >
SELECT LAST_INSERT_ID()
</selectKey>
insert into category
<trim prefix="(" suffix=")" suffixOverrides="," >
<if test="fSourceId != null" >
f_source_id,
</if>
<if test="userId != null" >
user_id,
</if>
<if test="author != null" >
author,
</if>
<if test="name != null" >
name,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides="," >
<if test="fSourceId != null" >
#{fSourceId,jdbcType=INTEGER},
</if>
<if test="userId != null" >
#{userId,jdbcType=BIGINT},
</if>
<if test="author != null" >
#{author,jdbcType=VARCHAR},
</if>
<if test="name != null" >
#{name,jdbcType=VARCHAR},
</if>
</trim>
所以我不明白为什么在一切正常的情况下我会得到上面的异常。
如果我错过了什么,请告诉我。
发布于 2012-08-23 03:14:44
MyBatis正在尝试使用参数java.lang.Integer调用类FeedEntry上的方法"setId“,结果是一个ClassCastException。
您需要确保select键的结果类型是正确的。
https://stackoverflow.com/questions/12052758
复制相似问题