Mybatis 批量插入并获取id

背景描述

项目中遇到数据迁移需求,需要将多表数据迁移并保留依赖关系 (如 b.pid = a.id),因此需要先批量写入a表,然后获取新数据id,再将新的依赖关系写入b表

所需依赖版本


    org.mybatis
    mybatis
    3.4.4



    org.mybatis
    mybatis-spring
    1.3.1

代码示例

dao
int batchInsert(@Param("list") List list, @Param("tableName") String tableName);
mapper

    INSERT INTO ${tableName} (column_1, column_2, column_3)
    VALUES
    
        (
        #{item.value1},
        #{item.value2},
        #{item.value3})
    

重点说明

由于时间受限,并未尝试修改数组@Param的别名,可能存在仅允许使用 ("list") 的情况,需要阅读官方文档查看是否修复此问题,当前不做具体探讨

你可能感兴趣的:(java)