一个“保存”按钮同时存在“增删改”三种操作,该如何去实现?
一般情况下,对表格中的数据进行“增删改”操作,都是直接操作数据库。现在有些项目因为设计或者优化的缘故,不对表格中的数据进行“增删改”,而是通过最后“保存”按钮的操作,一次性将数据传至服务器,由服务器对数据进行“增删改”。
以下通过给用户分配角色这样的功能进行说明。
操作界面大致如下(直接手画,略显粗糙,能看明白就行):
| 序号 | 用户 | 角色 |
|---|---|---|
| 1 | 用户A | 角色A |
| 2 | 用户A | 角色B |
| 3 | 用户A | 角色C |
| 删除 | 新增 | 保存 |
说明:
- “新增”、“修改”和“删除”都不是直接操作数据库。
- 点击“保存”时才将数据传给服务器。
- 此项目中的删除均为逻辑删除(即,只是对数据打上“删除”状态的标记),不是物理删除。
- 文中说的“ID”为用户角色的主键。
第一种方法:先删后增
- 直接删除用户下的所有角色,将前端传过来的数据统一新增。
优缺点:
- 优点:逻辑简单,容易实现。
- 缺点:会产生大量的删除数据。