insert或update:
<insert id="batchInsert" parameterType="User">
INSERT INTO edu_user
(id, third_user_id, username, admin, fullname, img_url, email, mobile, status, birthday, id_no, user_no,
dept_id, dept_name, position_id, position_name, parttime_dept_list, parttime_position_list, dept_parttime_ids,
dept_parttime_names, position_parttime_ids, position_parttime_names, grade_id, grade_name, area_code,
manager_id, manager_fullname, dept_manager_id, dept_manager_fullname, expired_time, hire_date, create_time,
update_time, deleted, locked_out, locked_out_time, face_validated, gender, sync_time)
VALUES
<foreach collection="list" separator="," item="item">
(#{item.id}, #{item.thirdUserId}, #{item.username}, #{item.admin}, #{item.fullname}, #{item.imgUrl},
#{item.email}, #{item.mobile}, #{item.status}, #{item.birthday}, #{item.idNo}, #{item.userNo},
#{item.deptId}, #{item.deptName}, #{item.positionId}, #{item.positionName}, #{item.parttimeDeptList},
#{item.parttimePositionList}, #{item.deptParttimeIds}, #{item.deptParttimeNames}, #{item.positionParttimeIds},
#{item.positionParttimeNames}, #{item.gradeId}, #{item.gradeName}, #{item.areaCode}, #{item.managerId},
#{item.managerFullname}, #{item.deptManagerId}, #{item.deptManagerFullname}, #{item.expiredTime},
#{item.hireDate}, #{item.createTime}, #{item.updateTime}, #{item.deleted}, #{item.lockedOut},
#{item.lockedOutTime}, #{item.faceValidated}, #{item.gender}, NOW())
</foreach>
ON DUPLICATE KEY UPDATE third_user_id = values(third_user_id), username = values(username), admin = values(admin),
fullname = values(fullname), img_url = values(img_url), email = values(email), mobile = values(mobile),
status = values(status), birthday = values(birthday), id_no = values(id_no), user_no = values(user_no),
dept_id = values(dept_id), dept_name = values(dept_name), position_id = values(position_id),
position_name = values(position_name), parttime_dept_list = values(parttime_dept_list),
parttime_position_list = values(parttime_position_list), dept_parttime_ids = values(dept_parttime_ids),
dept_parttime_names = values(dept_parttime_names), position_parttime_ids = values(position_parttime_ids),
position_parttime_names = values(position_parttime_names), grade_id = values(grade_id),
grade_name = values(grade_name), area_code = values(area_code), manager_id = values(manager_id),
manager_fullname = values(manager_fullname), dept_manager_id = values(dept_manager_id),
dept_manager_fullname = values(dept_manager_fullname), expired_time = values(expired_time),
hire_date = values(hire_date), create_time = values(create_time), update_time = values(update_time),
deleted = values(deleted), locked_out = values(locked_out), locked_out_time = values(locked_out_time),
face_validated = values(face_validated), gender = values(gender), sync_time = NOW()
</insert>