MyBatis:从插入的对象数组中获取id返回错误 [英] MyBatis: getting id from inserted array of object returns error

查看:190
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆