Mybatis批量插入数据
1>Controller代码
List<EmpCheck> empc = new ArrayList<EmpCheck>();
Iterator it = list.iterator();
while(it.hasNext()) {
Employee e = (Employee) it.next();
EmpCheck ec=new EmpCheck();
ec.setEmpNo(e.getEmpNo());
ec.setEmpName(e.getName());
ec.setPost(e.getPosition());
ec.setDepartment(e.getDept());
ec.setCheckMonth(empCheck.getCheckMonth());
ec.setBasePoints("");
ec.setCheckPoint("");
ec.setNickName(e.getNickName());
ec.setState(1);
ec.setCheckPeople(e.getCheckName());
ec.setCheckStanderd(e.getCheckStanderd());
empc.add(ec);
}
//插入部门所有员工未考核的数据
if(empc.size()>0){
empCheckService.add(empc);
}
2>Mapper.xml代码
<insert id="add" parameterType="java.util.List">
insert into emp_check (
emp_no,
emp_name,
post,
department,
check_month,
base_points,
check_point,
create_time,
nickname,
state,
checkpeople,
checkstanderd) values
<foreach collection ="list" item="item" index= "index" separator =",">
(#{item.empNo,jdbcType=VARCHAR}, #{item.empName,jdbcType=VARCHAR},#{item.post,jdbcType=VARCHAR},#{item.department,jdbcType=VARCHAR},
#{item.checkMonth,jdbcType=VARCHAR}, #{item.basePoints,jdbcType=VARCHAR}, #{item.checkPoint,jdbcType=VARCHAR},
now(),#{item.nickName,jdbcType=VARCHAR},#{item.state,jdbcType=INTEGER},#{item.checkPeople,jdbcType=VARCHAR},#{item.checkStanderd,jdbcType=INTEGER})
</foreach >
</insert>