1.mybatis版本要在3.3以上,低版本的要排除
2.批量插入sql 要有 useGeneratedKeys=“true” keyProperty=“id”
<insert id="batchSaveActivityPoolVersion" parameterType="java.util.List" useGeneratedKeys="true" keyProperty="id">
insert into pe_activity_pool_version (pool_id, pool_name,
pool_type, pool_start_time, pool_end_time,
operate_type, is_open, create_uid,
create_username, create_time, is_deleted)
values
<foreach collection="list" item="activityPoolVersion"
separator="," >
(#{activityPoolVersion.poolId,jdbcType=INTEGER},
#{activityPoolVersion.poolName,jdbcType=VARCHAR},#{activityPoolVersion.poolType,jdbcType=TINYINT},
#{activityPoolVersion.poolStartTime,jdbcType=TIMESTAMP},#{activityPoolVersion.poolEndTime,jdbcType=TIMESTAMP},
#{activityPoolVersion.operateType,jdbcType=TINYINT},#{activityPoolVersion.isOpen,jdbcType=BIT},
#{activityPoolVersion.createUid,jdbcType=VARCHAR},#{activityPoolVersion.createUsername,jdbcType=VARCHAR},
#{activityPoolVersion.createTime,jdbcType=TIMESTAMP},#{activityPoolVersion.isDeleted,jdbcType=BIT})
</foreach>
</insert>
3.mapper接口入参 变量用list
/**
* 批量插入ActivityPoolVersion
* @param list
* @return
*/
int batchSaveActivityPoolVersion(List<ActivityPoolVersion> list);
4.service层
@Override
public List<ActivityPoolVersion> batchSaveActivityPoolVersion(List<ActivityPoolVersion> activityPoolVersionList) {
if(activityPoolVersionList.isEmpty()) {
return Lists.newArrayList();
}
int count = activityPoolVersionMapper.batchSaveActivityPoolVersion(activityPoolVersionList);
if (count > 0) {
return activityPoolVersionList;
} else {
return Lists.newArrayList();
}
}