场景

项目搭建专栏:

https://blog.csdn.net/BADAO_LIUMANG_QIZHI/column/info/37194

简介

SQL 执行分析拦截器【 目前只支持 MYSQL-5.6.3 以上版本 】,

作用是分析 处理 DELETE UPDATE 语句, 防止小白或者恶意 delete update 全表操作!

com.baomidou.mybatisplus.plugins.SqlExplainInterceptor

参数:stopProceed 发现执行全表 delete update 语句是否停止执行

注意!该插件只用于开发环境,不建议生产环境使用。。。

原理

在插件的底层,通过SQL语句分析命令:Explain分析当前SQL语句,根据结果集中的Extra列来判定当前是否全局操作。

实现

来到项目下的applicationContext.xml中配置sqlSessionFactoryBean的地方。

<!--  配置SqlSessionFactoryBeanMybatis提供的: org.mybatis.spring.SqlSessionFactoryBeanMP提供的:com.baomidou.mybatisplus.spring.MybatisSqlSessionFactoryBean--><bean id="sqlSessionFactoryBean" class="com.baomidou.mybatisplus.spring.MybatisSqlSessionFactoryBean"><!-- 数据源 --><property name="dataSource" ref="dataSource"></property><property name="configLocation" value="classpath:mybatis-config.xml"></property><!-- 别名处理 --><property name="typeAliasesPackage" value="com.badao.beans"></property> <!-- 注入全局MP策略配置 --><property name="globalConfig" ref="globalConfiguration"></property> <!-- 插件注册 --><property name="plugins"><list><!-- 注册分页插件 --><bean class="com.baomidou.mybatisplus.plugins.PaginationInterceptor"></bean><!-- 注册执行分析插件 --><bean class="com.baomidou.mybatisplus.plugins.SqlExplainInterceptor"><property name="stopProceed" value="true" /></bean></list></property> </bean>

编写测试方法

/**** 执行分析插件*/@Testpublic void testExplainPlugin() {//不传任何条件 所以是删除全表操作employeeMapper.delete(null);}

运行结果

可以看到提示失败原因是全表操作被拒绝。

源码下载

https://download.csdn.net/download/badao_liumang_qizhi/11147569

MyBatisPlus插件扩展_SqlExplainInterceptor执行分析插件的使用相关推荐

  1. MyBatisPlus插件扩展_PerformanceInterceptor性能分析插件的使用

    场景 项目搭建专栏: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/column/info/37194 简介 性能分析拦截器,用于输出每条 SQL 语句及其执行时 ...

  2. MyBatisPlus插件扩展_OptimisticLockerInterceptor乐观锁插件的使用

    场景 项目搭建专栏: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/column/info/37194 简介 意图: 当要更新一条记录的时候,希望这条记录没有被别 ...

  3. MybatisPlus性能分析插件

    性能分析 性能分析拦截器,用于输出每条 SQL 语句及其执行时间 SQL 性能执行分析,开发环境使用,超过指定时间,停止运行.有助于发现问题 配置插件 (1)参数说明 参数:maxTime: SQL ...

  4. 基于LLVM编译器的IDA自动结构体分析插件

    引用 这篇文章旨在介绍一款对基于LLVM的retdec开源反编译器工具进行二次开发的IDA自动结构体识别插件实现原理分析 文章目录 引用 简介 源码分析 LLVM编译器简介 Retdec源码分析 Kl ...

  5. 【Android Gradle 插件】Extension 扩展类型 ( Module 引入插件类型 | application 插件 | library 插件 | Variants 变体列表 )

    文章目录 一.Module 引入插件类型 1.com.android.application 插件 2.com.android.library 插件 二.Extension 扩展类型 三.applic ...

  6. 【Android 插件化】基于插件化的恶意软件的加载策略分析 ( 自定义路径加载插件 | 系统路径加载插件 | 用户同意后加载插件 | 隐藏恶意插件 )

    文章目录 一.自定义路径加载插件 二.系统路径加载插件 三.用户同意后加载插件 四.隐藏恶意插件 一.自定义路径加载插件 插件化应用中 , 宿主应用 加载 插件 APK , 需要获取该插件 APK 文 ...

  7. MyBatis 源码分析 - 插件机制

    1.简介 一般情况下,开源框架都会提供插件或其他形式的拓展点,供开发者自行拓展.这样的好处是显而易见的,一是增加了框架的灵活性.二是开发者可以结合实际需求,对框架进行拓展,使其能够更好的工作.以 My ...

  8. query上传插件uploadify参数详细分析

    query上传插件uploadify参数详细分析 Uploadify Version 3.2 官网:http://www.uploadify.com/ 注:文件包里有两个js分别是:jquery.up ...

  9. Chrome插件(扩展)

    [干货]Chrome插件(扩展)开发全攻略 写在前面 我花了将近一个多月的时间断断续续写下这篇博文,并精心写下完整demo,写博客的辛苦大家懂的,所以转载务必保留出处.本文所有涉及到的大部分代码均在这 ...

最新文章

  1. C# 对Excel的样式操作
  2. 8个试剂,其中一个有毒,最少多少只小白鼠能检测出有毒试剂——分而治之思想...
  3. (LeetCode 141/142)Linked List Cycle
  4. 企业是否应该实现对客户需求的快速响应_互联网企业的数据化迭代和数据化应用...
  5. Android 2.2 带来全新拍照增强特性
  6. python使用级数pi的近似值_JavaScript与Python计算pi的近似值运行时间对比
  7. 2020 年百度之星程序设计大赛 - 初赛二
  8. 360手机浏览器_UC、QQ、华为、360、搜狗、小米、vivo、OPPO等8款手机浏览器被纳入首批传播秩序专项整治...
  9. 关于linux安装openoffice无法启动
  10. linux查看服务_Linux服务下通过指令查看JVM(非原创侵删)
  11. JS基础详细汇总((入门级))
  12. java注释规范_Java代码注释规范详解
  13. 从董明珠称格力将会接入鸿蒙系统,是否可以看出手机圈的不堪?
  14. 数据结构:线性表的顺序存储结构,实现集合的交差并补
  15. 这家饱受诟病的三线大厂,福利居然秒杀BATJ!
  16. C++之我见--delete指针
  17. CryEngine 动态添加模型
  18. 统计学习方法概论之思维导图图解
  19. 学习记录1.0(基础算法)
  20. OpenCV Eigen Sophus PCL G2O

热门文章

  1. javax.websocket.DeploymentException: The path [webScoketServiceBaidu/{appID}] is not valid.
  2. java json自定义_java返回json设置自定义的格式
  3. sybase 事务插入时不可查询_InnoDB事务与锁
  4. java模拟数据库压测_写并发压测 java 脚本你必须会的 3 个类
  5. 智能指针的释放_手把手教你实现智能指针
  6. cmd 顺序启动服务_CMD生疏了?教你10招酷酷的Windows命令行指令
  7. QT 调用wmi 异常报错 内存异常等
  8. epoll监听文件_【原创】万字长文浅析:Epoll与Java Nio的那些事儿
  9. python入门之函数调用第一关_零基础学习 Python 之与函数的初次相见
  10. 文本分类模型_文本分类模型之TextCNN