【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中传递。