当前位置: 首页 > news >正文

mybatis使用foreach处理List中的Map

问题:

参数的数据结构是一个ArrayList<Map<String, Integer>>,需要以String,Integer为条件批量更新数据库的数据.

将参数封装到叫做JsonData的qv中,JsonData的关键代码是

    private ArrayList<Map<String, Integer>> usersPlatforms;

    public ArrayList<Map<String, Integer>> getUsersPlatforms() {
        return usersPlatforms;
    }

    public void setUsersPlatforms(ArrayList<Map<String, Integer>> usersPlatforms) {
        this.usersPlatforms = usersPlatforms;
    }

Mapper中的方法是:

updateXxxx(JsonData jsonData);

Mapper.xml的sql是:

<update id="updateXxxx" parameterType="JsonData">
        UPDATE xxx SET `xx` = 10
        <where>
            <foreach collection="usersPlatforms" item="userPlatform" open="" close="" separator="OR">
                <foreach collection="userPlatform.keys" item="key" open=" user_id = " close="" separator="">
                    #{key}
                </foreach>
                <foreach collection="userPlatform.values" item="value" open=" AND platform = " close="" separator="">
                    #{value}
                </foreach>
            </foreach>
        </where>
    </update>

 

相关文章:

  • log4j2的配置文件
  • 一个用java的NIO实现的socket的客户端和服务端的demo
  • 使用java的nio的pipe实现两个线程间传送数据的demo
  • org.hibernate.TransactionException: nested transactions not supported异常
  • elasticsearch
  • rancher简介
  • InfluxDB+cAdvisor+Grafana容器管理
  • serviceComb[No schema defined for start.servicecomb.io:]异常
  • ServiceComb
  • kubernetes
  • 生产报redis连接满的问题
  • 一、Linux入门简述
  • 二、Linux入门之文件管理及相关命令
  • 3、Linux命令小例:用户权限管理、ls、cp、tr
  • 三、Linux入门之标准I/O重定向、管道、用户管理
  • SegmentFault for Android 3.0 发布
  • 【剑指offer】让抽象问题具体化
  • DOM的那些事
  • js 实现textarea输入字数提示
  • nginx 配置多 域名 + 多 https
  • PHP面试之三:MySQL数据库
  • Spring-boot 启动时碰到的错误
  • ⭐ Unity 开发bug —— 打包后shader失效或者bug (我这里用Shader做两张图片的合并发现了问题)
  • 翻译--Thinking in React
  • 后端_ThinkPHP5
  • 基于 Ueditor 的现代化编辑器 Neditor 1.5.4 发布
  • 使用 Docker 部署 Spring Boot项目
  • 新版博客前端前瞻
  • 异常机制详解
  • 资深实践篇 | 基于Kubernetes 1.61的Kubernetes Scheduler 调度详解 ...
  • ​创新驱动,边缘计算领袖:亚马逊云科技海外服务器服务再进化
  • # Pytorch 中可以直接调用的Loss Functions总结:
  • #Z2294. 打印树的直径
  • #我与Java虚拟机的故事#连载02:“小蓝”陪伴的日日夜夜
  • #在 README.md 中生成项目目录结构
  • ${ }的特别功能
  • (附源码)springboot“微印象”在线打印预约系统 毕业设计 061642
  • (附源码)计算机毕业设计SSM疫情居家隔离服务系统
  • (免费领源码)python#django#mysql公交线路查询系统85021- 计算机毕业设计项目选题推荐
  • (四)TensorRT | 基于 GPU 端的 Python 推理
  • (原创)Stanford Machine Learning (by Andrew NG) --- (week 9) Anomaly DetectionRecommender Systems...
  • (状压dp)uva 10817 Headmaster's Headache
  • *** 2003
  • .net core使用ef 6
  • .Net Remoting常用部署结构
  • .NET 编写一个可以异步等待循环中任何一个部分的 Awaiter
  • .NET 动态调用WebService + WSE + UsernameToken
  • .NET上SQLite的连接
  • .sdf和.msp文件读取
  • @Responsebody与@RequestBody
  • @SuppressWarnings(unchecked)代码的作用
  • [1159]adb判断手机屏幕状态并点亮屏幕
  • [ABC294Ex] K-Coloring
  • [Asp.net MVC]Asp.net MVC5系列——Razor语法
  • [BUUCTF NewStarCTF 2023 公开赛道] week3 crypto/pwn