MyBatis:从插入的对象数组中获取id返回错误 [英] MyBatis: getting id from inserted array of object returns error
本文介绍了MyBatis:从插入的对象数组中获取id返回错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我使用mybatis 3.3.0-SNAPSHOT。我想插入对象列表,并获取每个对象的id。在接口I中:
I use mybatis 3.3.0-SNAPSHOT. I want to insert list of objects, and get id of every object. In interface I have:
public void createCore(@Param("cores")List<Object> cores);
在xml mapper中我有:
In xml mapper I have:
<insert id="createCore" parameterType="java.util.List" useGeneratedKeys="true" keyProperty="id" keyColumn="id">
INSERT INTO mytable (raz,dva,tri )
VALUES
<foreach collection="cores" item="core" separator=",">
(#{core.raz}, #{core.dva}, #{core.tri})
</foreach>
</insert>
我得到:
更新数据库时出错。原因:org.apache.ibatis.executor.ExecutorException:生成错误
键或将结果设置为参数对象。原因:
org.apache.ibatis.binding.BindingException:找不到参数'id'。
可用参数是[cores,param1]
Error updating database. Cause: org.apache.ibatis.executor.ExecutorException: Error getting generated
key or setting result to parameter object. Cause: org.apache.ibatis.binding.BindingException: Parameter 'id' not found. Available parameters are [cores, param1]
我试过和keyProperty =core.id但是得到了同样的错误。
I tried and keyProperty="core.id" but get the same error.
如何解决?
推荐答案
这个问题是在版本3.3.1中修复
This is issue is fixed in version 3.3.1
这篇关于MyBatis:从插入的对象数组中获取id返回错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文