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

穿梭框后端,java处理实现增删改查

类似这样的穿梭框,可以实现增删改查:实现逻辑如下

1、不做任何操作,点击确定,数据不新增、不删除。

2、右边数据移动到左边,数据库对应的数据删除

3、左边的数据移动到右边,数据库新增一条记录

4、如果右边有记录,再新增一条,那么这条记录不做任何变动,右边数据量+1

定义数据库存在的用户id为:savedUserIds

定义前端传参的用户id为:newUserIds

Java代码:

1、首先写个获取两个集合差集的方法:diffList()

  /**
     * 获取两个集合差集
     *
     * @param list1 集合1
     * @param list2 集合2
     * @return List<String>
     */
    private static List<String> diffList(List<String> list1, List<String> list2) {
        List<String> result = new ArrayList<>();
        result.addAll(list1);
        result.removeAll(list2);
        return result;
    }

2、取差集

List<String> oldIdsList = diffList(savedUserIds, newUserIds);

3、移除oldIdsList 

批量移除的方法

removeBatchUser(oldIdsList)

4、取差集

List<String> newIdsList = diffList(newUserIds, savedUserIds);

5、新增

批量插入的方法

insertBatchUser(newIdsList);

注意!

数据库要加排序字段


http://www.kler.cn/a/7903.html

相关文章:

  • 计算机网络 (1)互联网的组成
  • IC 脚本之python
  • Java 责任链模式 减少 if else 实战案例
  • StructuredStreaming (一)
  • 基于微信小程序的乡村研学游平台设计与实现,LW+源码+讲解
  • 今日 AI 简报 | 开源 RAG 文本分块库、AI代理自动化软件开发框架、多模态统一生成框架、在线图像背景移除等
  • lua脚本实现滑动窗口的分布式全局限流器, 控制api接口qps
  • 【文本分类】《基于提示学习的小样本文本分类方法》
  • usb_cam 相机ROS配置
  • R语言多元数据统计分析在生态环境中的应用
  • Elasticsearch:高级数据类型介绍
  • SpringBoot—Spring Data JPA(2)
  • 苹果配摄像头的HomePod专利获批,语音唤醒苹果Find My功能
  • Spring注解开发详解
  • vue2和vue3的区别
  • 深度学习语义分割篇——FCN原理详解篇
  • 手机怎么投屏到电脑?3个简单的方法教会你!
  • 一本通 3.4.2 图的最短路径
  • FL Studio21中文版本下载及语言切换调整
  • Spring循环依赖
  • LCP 44. 开幕式焰火
  • Chat-GLM 详细部署(GPU显存>=12GB)
  • PMP如何备考,才能一次通过呢?
  • Twitter-高性能hash_map
  • AM62X +FPGA+AD/DA 的TSN工业网关解决方案
  • vue实现轨迹回放(很详细)