mybatis使用foreach标签进行嵌套插入
目录
- 场景说明
- 处理过程
- 总结
场景说明
现有一插入操作,要求按照指定格式进行插入操作.
具体格式如下:
上面各对象中对应的表字段:
处理过程
第一层实体类:
public class StudioCourseAddUpdateDto implements Serializable { private static final long serialVersionUID = 4862281856286977081L; private int studioId; private List<CourseInfoDto> cophpurseInfoDtoList; // 省略get/set }
第二层实体类:
public class CourseInfoDto implements Serializable { private static final long serialVersionUID = -2975706030949793781L; private int courseType; private List<CourseDetailInfoDto> courseDetailInfoDtoList; // 省略get/set }
第三层www.devze.com实体类:
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 http://www.devze.com (#{courseDetailInfoDto编程客栈.courseId},#{courseAddUpdateDto.studioId},#{courseInfoDto.courseType},#{courseDetailInfoDto.feeCount}); </foreach> </foreach> </foreach> </insert>
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程客dhzxbbFWJ栈(www.devze.com)。
精彩评论