MyBatisPlus防全表更新與刪除的實現(xiàn)示例
更新時間:2023年10月18日 11:17:06 作者:宋冠巡
本文主要介紹了MyBatisPlus防全表更新與刪除的實現(xiàn)示例,針對 update 和 delete 語句,阻止惡意的全表更新和全表刪除,具有一定的參考價值,感興趣的可以了解一下
說明
針對 update 和 delete 語句,阻止惡意的全表更新和全表刪除。
實現(xiàn)方式
配置BlockAttackInnerInterceptor攔截器

代碼
package com.example.core.config;
import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.BlockAttackInnerInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
@MapperScan("com.example.web")
public class MybatisPlusConfig {
/**
* 添加攔截器
*/
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor() {
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
interceptor.addInnerInterceptor(new BlockAttackInnerInterceptor()); // 針對 update 和 delete 語句 作用: 阻止惡意的全表更新刪除
interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));// 如果配置多個插件,切記分頁最后添加
// interceptor.addInnerInterceptor(new PaginationInnerInterceptor()); 如果有多數(shù)據(jù)源可以不配具體類型 否則都建議配上具體的DbType
return interceptor;
}
}
測試
更新全表
/**
* 更新全表
*/
@Test
public void updateAll() {
User user = new User();
user.setGender(GenderEnum.MALE);
mapper.update(user, null);
}

刪除全表
/**
* 刪除全表
*/
@Test
public void deleteAll() {
mapper.delete(null);
}

正常更新
正常更新,不受影響。
/**
* 更新一條數(shù)據(jù)
*/
@Test
public void update() {
User user = new User();
user.setId(7L);
user.setGender(GenderEnum.MALE);
mapper.updateById(user);
}

未開啟防護前
未開啟防護前,可以更新全表,或刪除全表。
全表更新


全表刪除


到此這篇關于MyBatisPlus防全表更新與刪除的實現(xiàn)示例的文章就介紹到這了,更多相關MyBatisPlus防全表更新與刪除內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
SpringBoot整合Sa-Token實現(xiàn)登錄認證的示例代碼
本文主要介紹了SpringBoot整合Sa-Token實現(xiàn)登錄認證的示例代碼,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-01-01
java實現(xiàn)順序結構線性列表的函數(shù)代碼
java實現(xiàn)順序結構線性列表的函數(shù)代碼。需要的朋友可以過來參考下,希望對大家有所幫助2013-10-10
基于Java的度分秒坐標轉純經(jīng)緯度坐標的漂亮國基地信息管理的方法
本文以java語言為例,詳細介紹如何管理漂亮國的基地信息,為下一步全球的空間可視化打下堅實的基礎,首先介紹如何對數(shù)據(jù)進行去重處理,然后介紹在java當中如何進行度分秒位置的轉換,最后結合實現(xiàn)原型進行詳細的說明,感興趣的朋友跟隨小編一起看看吧2024-06-06

