mybatis使用foreach标签进行嵌套插入
更新时间:2024年09月24日 09:26:18 作者:卖柴火的小伙子
数据库插入操作常见于多层架构设计中,本文提供了一个具体的实现方案,涉及三层实体类结构,第一层实体类负责基本数据结构的定义,第二层和第三层实体类则提供更详细的业务逻辑处理,同时,文章还介绍了相应的mapper接口和配置文件设置
场景说明
现有一插入操作,要求按照指定格式进行插入操作.
具体格式如下:

上面各对象中对应的表字段:

处理过程
第一层实体类:
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>总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
浅谈 java中ArrayList、Vector、LinkedList的区别联系
ArrayList,Vector底层是由数组实现,LinkedList底层是由双线链表实现,从底层的实现可以得出性能问题ArrayList,Vector插入速度较慢,查询速度较快,而LinkedList插入速度较快,而查询速度较慢。再者由于Vevtor使用了线程安全锁,所以ArrayList的运行效率高于Vector2015-11-11
Java如何解决发送Post请求报Stream closed问题
这篇文章主要介绍了Java如何解决发送Post请求报Stream closed问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2022-06-06
java中PreparedStatement和Statement详细讲解
这篇文章主要介绍了java中PreparedStatement和Statement详细讲解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2019-11-11


最新评论