接收List(实体类)集合通过Mybatis进行存储
三种方式:迭代器、for、foreach(推荐)
迭代器:集合特有的遍历方式
for:带有索引的遍历方式
foreach:最推荐的遍历方式
迭代器
Controller层
//接收返回的结果
int result = 0;
Iterator<Student> iterator = list.iterator();
while (iterator.hasNext()) {
Student student= iterator.next();
//通过set方法添加一下前端提交之外的字段
student.setId(UUIDUtils.getUUID());
student.setCreateDate(new Date(System.currentTimeMillis()));
//调用Service方法
result = sutdentService.insertStudent(student);
}
service层
studentMapper.insertStudent(student);
mapper层
int insertStudent(Student student);
mapper.xml
<insert id="insertStudent" parameterType="com.domain.entity.Student">
insert into student
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="id != null">
id,
</if>
<if test="name!= null">
name,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="id != null">
#{id,jdbcType=VARCHAR},
</if>
<if test="name != null">
#{name,jdbcType=VARCHAR},
</if>
</trim>
</insert>
for
Controller层
//接收返回的结果
int result = 0;
for (int i = 0; i < list.size(); i++) {
Student student = list.get(i);
//通过set方法添加一下前端提交之外的字段
student.setId(UUIDUtils.getUUID());
student.setCreateDate(new Date(System.currentTimeMillis()));
//调用Service方法
result = sutdentService.insertStudent(student);
}
service层、mapper层、mapper.xml 和迭代器相同
foreach
Controller层
//接收返回的结果
int result = 0;
for (Student student : list) {
//通过set方法添加一下前端提交之外的字段
student.setId(UUIDUtils.getUUID());
student.setCreateDate(new Date(System.currentTimeMillis()));
//调用Service方法
result = sutdentService.insertStudent(student);
}
service层、mapper层、mapper.xml 和迭代器相同