mybatis中foreach标签进行嵌套插入
亲测可行的foreach标签嵌套处理方案................
·
场景说明
现有一插入操作,要求按照指定格式进行插入操作.具体格式如下:
上面各对象中对应的表字段:
处理过程
第一层实体类:
public class StudioCourseAddUpdateDto implements Serializable {
private static final long serialVersionUID = 4862281856286977081L;
private int studioId;
private List<CourseInfoDto> courseInfoDtoList;
// 省略get/set
}
第二层实体类:
public class CourseInfoDto implements Serializable {
private static final long serialVersionUID = -2975706030949793781L;
private int courseType;
private List<CourseDetailInfoDto> courseDetailInfoDtoList;
// 省略get/set
}
第三层实体类:
public class CourseDetailInfoDto implements Serializable {
private static final long serialVersionUID = -1423166674509217993L;
private int courseId;
private String feeCount;
// 省略get/set
}
mapper接口:
int bathAddStudioCourseInfo(@Param("studioCourseAddUpdateDtoList") List<courseAddUpdateDto> courseAddUpdateDtoList);
配置文件:
<insert id="bathAddStudioCourseInfo" parameterType="com.it.tao.CourseAddUpdateDto">
<foreach collection="courseAddUpdateDtoList" item="courseAddUpdateDto" >
<foreach collection="courseAddUpdateDto.courseInfoDtoList" item="courseInfoDto" >
<foreach collection="courseInfoDto.courseDetailInfoDtoList" item="courseDetailInfoDto" >
INSERT INTO card_course (course_id,studio_id,course_type,fee_count) VALUES
(#{courseDetailInfoDto.courseId},#{courseAddUpdateDto.studioId},#{courseInfoDto.courseType},#{courseDetailInfoDto.feeCount});
</foreach>
</foreach>
</foreach>
</insert>
以上是亲测可行的处理方案,如果有更好的实现方案欢迎评论区留言交流!
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)