龙空技术网

Java常规操作新增,更新,删除

倔强的猪肘子 74

前言:

今天看官们对“java更新文件和修改文件”大体比较关注,各位老铁们都需要知道一些“java更新文件和修改文件”的相关资讯。那么小编也在网络上网罗了一些有关“java更新文件和修改文件””的相关资讯,希望你们能喜欢,我们快快来学习一下吧!

开发中,经常会遇到新增,删除,更新的操作。

比如要编辑一道题目的4个选项,前端一般是4个选项为一组提交,那么提交的数据操作有3种

序号

前端提交数据

后台数据库数据

操作

1

存在

不存在

新增数据

2

存在

存在

修改

3

不存在

存在

删除

一般小伙伴操作时图省事,不管3721,先把DB中的数据Delete,那就只需要考虑第一种新增情况啦,是不是很简单, 但如果设计中有用到自增ID,那么删除数据肯定会有问题。

所以,我们要考虑不删除数据的情况,也就是分别做3种情况的校验。

先考虑删除情况, 这里的删除也仅是逻辑删除,再处理新增和修改操作就简单了。

直接上伪代码,

// 常规操作:新增、更新、删除List<Qa> old = find();// 数据库数据,保存主键List<Integer> originalEvent = old.stream().map(Qa::getId).collect(Collectors.toList());// 前端传入的数据,也保存主键List<Integer> paramEvent = dto.stream().map(DTO::getId).collect(Collectors.toList());// 删除操作,获取在DB,但不在DTO的数据List<Integer> toDelete = originalEvent.stream().filter(item -> !paramEvent.contains(item)).collect(Collectors.toList());List<Qa> toList = old.stream().filter(e -> toDelete.contains(e.getId())).collect(Collectors.toList());if (!toList.isEmpty()) {    //将待删除的记录更新为删除    for (Qa qa : toList) {        qa.setDeleteFlag(Boolean.TRUE);    }    qaDao.save(toList);}// 遍历前端提交的数据, DB存在则更新,不存在则新增for (QaDTO dto : Dto) {    Qa qa = qaDao.getById(dto.getId());    if (qa == null) {        // 新增操作    } else {      // 更新操作          }}

标签: #java更新文件和修改文件 #java数据库删除数据 #java记录用户的浏览记录怎么删除