Mybatis使用注解方式实现批量更新、批量新增

记得数据源配置allowMultiQueries=true&
不然会报错 -> 添加链接描述


@

举例说明

spring.datasource.url=jdbc:mysql://IP:端口/geespace_bd_platform_dev?allowMultiQueries=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&
spring.datasource.username=用户名
spring.datasource.password=密码
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

@Update批量更新

@Update({"<script>",
            "<foreach collection='list' item= 'item' index ='index' separator=';'>",
            "update ge_data_meta_base set table_size=#{item.dataLength},update_time=now() where id=#{item.id}",
            "</foreach>",
            "</script>"})
    long batchUpdate(@Param("list") List<AssociationTable> list);

@insert批量新增

@Insert("<script>" + "INSERT INTO data_size(size,fileSize,tableSize,userId,date) VALUES"
            + "<foreach collection='dataSizes' item= 'item' index ='index' separator=','>"
            + "(#{item.size},#{item.fileSize},#{item.tableSize},#{item.userId},#{item.date})"
            + "</foreach>" + "</script>")
    @Options(useGeneratedKeys = true, keyProperty = "id", keyColumn = "id")
    long addDataSize(@Param("dataSizes") List<DataSize> dataSizes);
posted @   刘大猫26  阅读(45)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏
· Manus爆火,是硬核还是营销?
点击右上角即可分享
微信分享提示