博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MP实战系列(十五)之执行分析插件
阅读量:6855 次
发布时间:2019-06-26

本文共 898 字,大约阅读时间需要 2 分钟。

SQL 执行分析拦截器【 目前只支持 MYSQL-5.6.3 以上版本 】,作用是分析 处理 DELETE UPDATE 语句, 防止小白或者恶意 delete update 全表操作!

这里我引用MyBatis-Plus官方文档所说的。

为什么需要执行分析插件?

实际开发中,虽然我们可以根据数据库权限分给对应的开发人员,让他们开发或者是同步备份一个生产数据库移植到本地。

但是就小公司而言,没几个会这么弄的,特别是五到六人的小开发团队。基本上,可以说,数据库权限分配或者是本地测试服务器都没有。因为如果那样搞的话,从长远的角度出发,是有利的,

第一、约束开发人员行为,防止因不小心或者是恶意删库删表清空数据;

第二、在内网环境下,有测试服务器好处,在于,速度快,不会因为连接远程导致的网络延迟,同时即便删除了部分数据或者是改动较大也不会影响生产环境下的数据和对应的web应用。

但是呢,可惜大多数小公司很少会这么做,据我了解,我的一个朋友公司规模相对比较大,属于中型公司,他们公司开发团队相对我现在的公司要大的多,但是最近他跟我吐槽说,他们的开发,有的时候为了一些无关紧要的功能进入数据库任意修改字段,要知道,这乃开发大忌,改字段,特别是实体和表字段关联紧密的,一般情况下,改字段多少都会影响实体从而影响业务逻辑,然后Bug就出现了。

所以呢?对于数据库和表方面加强约束是非常有必要的。推荐一个比较好的工具:phpmyadmin。这个工具就可以做到。

但是还有就是针对开发人员不小心测试导致的数据清空或者是数据异常改动,使用MyBatis-Plus作为持久层的小伙伴们可以采取如下策略(声明下,针对MyBatis-Plus2以上版本,3以下版本):

Spring+SpringMVC+MyBatis-Plus(SSM框架开发的),可以如下配置:

在mybatis-config.xml配置如下内容即可:

注意事项:

参数:stopProceed 发现执行全表 delete update 语句是否停止执行注意!该插件只用于开发环境,不建议生产环境使用

转载地址:http://ybfyl.baihongyu.com/

你可能感兴趣的文章
我的友情链接
查看>>
Apache开启https
查看>>
jdk8-获取list<Object>中的某个属性并过滤非空,然后返回一个属性的list
查看>>
ajax跨域方法
查看>>
在AIX上配置NIM以及nim的mksysb备份
查看>>
我的友情链接
查看>>
LVS+Keepalived+nginx+单纯keepalived高可用
查看>>
6752/6732平台使用512MB RAM时 Camera配置方法
查看>>
AVAudioPlayer音频播放器—IOS开发
查看>>
oracle 查询的结果自动换行
查看>>
交换机xmodem灌IOS
查看>>
KeyMob聚合 我是最稳定的
查看>>
css中display的属性值---block VS inline(none就不用显示了)
查看>>
mongodb里日期类型的时区问题
查看>>
CentOS7 部署docker
查看>>
我的友情链接
查看>>
001:操作系统概述
查看>>
6:多源复制的实现
查看>>
amMap地理的统计图表
查看>>
解决v-lazy-image在qq浏览器x5内核下无效
查看>>