一个“保存”按钮同时存在“增删改”三种操作,该如何去实现?
一般情况下,对表格中的数据进行“增删改”操作,都是直接操作数据库。现在有些项目因为设计或者优化的缘故,不对表格中的数据进行“增删改”,而是通过最后“保存”按钮的操作,一次性将数据传至服务器,由服务器对数据进行“增删改”。
以下通过给用户分配角色这样的功能进行说明。
操作界面大致如下(直接手画,略显粗糙,能看明白就行):
序号 | 用户 | 角色 |
---|---|---|
1 | 用户A | 角色A |
2 | 用户A | 角色B |
3 | 用户A | 角色C |
删除 | 新增 | 保存 |
说明:
- “新增”、“修改”和“删除”都不是直接操作数据库。
- 点击“保存”时才将数据传给服务器。
- 此项目中的删除均为逻辑删除(即,只是对数据打上“删除”状态的标记),不是物理删除。
- 文中说的“ID”为用户角色的主键。
第一种方法:先删后增
- 直接删除用户下的所有角色,将前端传过来的数据统一新增。
优缺点:
- 优点:逻辑简单,容易实现。
- 缺点:会产生大量的删除数据。
第二种方法:通过
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Fundebug:JavaScript插件支持错误采样
Fundebug的付费套餐主要是根据错误事件数制定的,这是因为每一个发送到我们服务器的事件,都会消耗一定的CPU、内存、磁盘以及带宽资源,尤其当错误事件数非常大时,会对我们的计算资源造成很大压力。 如果您希望采样收集错误,比如“只收集30%的错误”,可以将sampleRate属性设为0.3。这样的话,您可以选择更加合适套餐。 1. 在HTML中配置<script>标签中配置sampleRate属性 <script src="https://js.fundebug.cn/fundebug.1.9.0.min.js" apikey="API-KEY" sampleRate=0.3></script> 2. 在JavaScript中配置sampleRate变量 fundebug.sampleRate = 0.3; 注意,是否收集错误是完全随机的,因此理论上这样可能会导致一些错误不会被收集。因此,您需要自行权衡利弊,选择是否配置sampleRate以及配置多大的sampleRate。 参考 Fundebug计费标准解释:事件数是如何定义的? 版权声明 转载时...
- 下一篇
Spring 框架文档之核心技术—— AOP
AOP AOP 提供一种新的思考程序结构的方法来补充 OOP。OOP 中模块的关键是类,而 AOP 中模块的关键是切面。切面支持跨多个类型和对象的模块化(如事务管理)。 AOP 概念 切面 —— 在切入点进行通知操作的过程(包含通知和切人点的类 @Aspect) 连接点 —— 所有可能被织入通知的候选点(具体业务逻辑方法) 切入点 —— 满足匹配规则的连接点(@Pointcut) 目标对象 —— 被一到多个切面通知的对象 AOP 代理 —— AOP 框架基于切面规则创建的对象 织入 —— 创建通知对象关联切面和其他应用 通知 —— 对切入点进行的操作 前置通知 —— 在连接点之前执行的通知(@Before) 后置通知 —— 在连接点正常完成后执行的通知(@AfterReturning) 环绕通知 —— 在方法调用前后执行的通知(@Around) 异常通知 —— 方法抛出异常时执行的通知(@AfterThrowing) 最终通知 —— 从连接点退出后执行的通知(@After) Spring AOP 目标 纯 Java 实现。不需要特殊的编译过程。不需要控制类加载器层次结构,适合在 Ser...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- CentOS关闭SELinux安全模块
- CentOS7设置SWAP分区,小内存服务器的救世主
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题