我们知道,当我们使用mybatis
保存实体时,我们可以使用keyProperty
和useGeneratedKeys
属性来获取实体的ID。但是我怎样才能获得每个实体的ID我使用下面的方式批量插入实体:
<insert id="inserts" keyProperty="id" useGeneratedKeys="true">
insert into t_ext_wk_agent (agent_code,agent_name,agent_type,icon,agent_url_state,description,target,
state,create_time,modify_time)
values
<foreach collection="list" separator="," item="item">
(#{item.agentCode},#{item.agentName},#{item.agentType},#{item.icon},#{item.agentUrlState},#{item.description},
#{item.target},#{item.state},#{item.createTime},#{item.modifyTime})
</foreach>
</insert>
答案 0 :(得分:1)
我刚刚发布了相关的answer here。
只需在Java Foreach循环中执行一个简单的Insert语句,而不是在Mybatis XML中迭代集合。最重要的是会话执行程序类型(REUSE或BATCH)。然后,您将回到简单的插入/生成密钥案例