【mybatis】mybatis批量插入数据

需求一:

dao层

代码如下:

void insertShardsCheck(@Param("list") List<ESShardCheck> indexNameList);

XML文件

<insert id="insertShardsCheck">
        insert into es_shard_check (
        index_name, shard_num, risk_rating, suggest, status) values
        <foreach  collection="list"  item="item" separator=",">
            (#{item.indexName},
             #{item.shardNum},
             #{item.riskRating},
             #{item.suggest},
             #{item.status}
             )
        </foreach>
    </insert>

需求二:

mybatis实现多插入数据。

dao层

代码如下:

void updateCatalogDatabaseAlarmGroup(@Param("databaseName")String databaseName, @Param("list") List<Integer> alarmGroup);

XML文件

<insert id="updateCatalogDatabaseAlarmGroup">
        insert into imp_catalog_database_alarm_group (
            database_name, group_id) values
        <foreach item="item" collection="list" separator=",">
            (#{databaseName}, #{item})
        </foreach>
    </insert>
  • collection 对应的是 @Param(“list”)
  • item 是遍历节点

如果是多参数,比如public User find(String address, List idList), 使用注解@Param("")或者考虑封装在map中传递。

posted @ 2022-11-10 19:26  彬在俊  阅读(86)  评论(0编辑  收藏  举报