场景说明
现有一插入操作,要求按照指定格式进行插入操作.具体格式如下:
上面各对象中对应的表字段:
处理过程
第一层实体类:
publicclassStudioCourseAddUpdateDtoimplementsSerializable{privatestaticfinallong serialVersionUID=4862281856286977081L;privateint studioId;privateList<CourseInfoDto> courseInfoDtoList;// 省略get/set}
第二层实体类:
publicclassCourseInfoDtoimplementsSerializable{privatestaticfinallong serialVersionUID=-2975706030949793781L;privateint courseType;privateList<CourseDetailInfoDto> courseDetailInfoDtoList;// 省略get/set}
第三层实体类:
publicclassCourseDetailInfoDtoimplementsSerializable{privatestaticfinallong serialVersionUID=-1423166674509217993L;privateint courseId;privateString feeCount;// 省略get/set}
mapper接口:
intbathAddStudioCourseInfo(@Param("studioCourseAddUpdateDtoList")List<courseAddUpdateDto> courseAddUpdateDtoList);
配置文件:
<insertid="bathAddStudioCourseInfo"parameterType="com.it.tao.CourseAddUpdateDto"><foreachcollection="courseAddUpdateDtoList"item="courseAddUpdateDto"><foreachcollection="courseAddUpdateDto.courseInfoDtoList"item="courseInfoDto"><foreachcollection="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>
以上是亲测可行的处理方案,如果有更好的实现方案欢迎评论区留言交流!