什么是非法sql:
不带where子句的delete和update,在生产环境中是不允许的。因为不带where子句的delete和update将会影响全表数据。这是非常可怕的!!
拦截的意义是:
就是阻止恶意的全表更新或删除
如下操作,没有加where条件或忘了。。。后果不感想。。。。
DtsArticle dtsArticle = new DtsArticle();
dtsArticle.setTitle("桂林——3");
dtsArticle.setType(1);
boolean update = dtsArticleService.update(dtsArticle, null);
解决办法,在拦截器类中添加如下代码
@Configuration
public class Mybati_lanjieqi {
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor(){
MybatisPlusInterceptor mybatisPlusInterceptor = new MybatisPlusInterceptor();
//分页插件
mybatisPlusInterceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
//配置BlockAttackInnerInterceptor拦截器,防止全表更新
mybatisPlusInterceptor.addInnerInterceptor(new BlockAttackInnerInterceptor());
return mybatisPlusInterceptor;
}
}