日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

MyBatisPlus插件扩展_SqlExplainInterceptor执行分析插件的使用

發布時間:2025/3/19 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MyBatisPlus插件扩展_SqlExplainInterceptor执行分析插件的使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

場景

項目搭建專欄:

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执行分析插件的使用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。