这个是实体传参,用主实体接收参数
先看实体类
- 主表实体类
public class HadTask extends AuditingEntity{
private Integer taskCount;//下发总数量
private String beginDate;//开始时间
private String endDate;//截止时间
private String status;
private List<HadUserCount> hadUserCountList;}
- 字表实体类
public class HadUserCount extends AuditingEntity{
private HadTask hadTask;
private Organization organization; //组织机构ID
private Integer userCount;}
前台传入的参数格式
name='hadUserCountList["+i+"].organization.id'
name='hadUserCountList["+i+"].userCount'
Mapper.xml里怎么写?
<insert id="addHadTask" parameterType="HadTask">
<selectKey resultType="string" order="BEFORE" keyProperty="id">
select sys_uuid() from dual
</selectKey>
begin
insert into had_task
(
id,
begin_date,
end_date,
task_count,
create_user_id
) values (
#{id,jdbcType=VARCHAR},
to_date(#{beginDate,jdbcType=VARCHAR},'yyyy-MM-dd'),
to_date(#{endDate,jdbcType=VARCHAR},'yyyy-MM-dd'),
#{taskCount,jdbcType=INTEGER},
#{createUser.id,jdbcType=VARCHAR}
);
<foreach collection="hadUserCountList" item="item" index="index">
insert into had_user_count
(
id,had_task_id,organization_id,user_count,create_user_id
)
values
(
sys_uuid(),
#{id},
#{hadUserCountList[${index}].organization.id,jdbcType=VARCHAR},
#{hadUserCountList[${index}].userCount,jdbcType=INTEGER},
#{createUser.id,jdbcType=VARCHAR}
);
</foreach>
end;
</insert>