首页 > 其他分享 >防全表更新与删除插件

防全表更新与删除插件

时间:2022-10-01 21:38:50浏览次数:76  
标签:插件 String 删除 防全表 User new com user

@Configuration
public class MybatisPlusConfig {

@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor() {
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
interceptor.addInnerInterceptor(new BlockAttackInnerInterceptor());
return interceptor;
}

}
  • 测试
@RestController
@RequestMapping("/test")
public class TestController {

@Autowired
private UserService userService;

/**
* 全表更新
* @return
*
* # 未使用插件时,可全表更新
* UPDATE user SET username=?, password=?
* custom_name(String), [email protected](String)
*
* # 使用插件后,全表更新则报错
*/
@RequestMapping("/test1")
@ResponseBody
public String test1(){
User user = new User();
user.setId("999");
user.setUsername("custom_name");
user.setPassword("[email protected]");
// com.baomidou.mybatisplus.core.exceptions.MybatisPlusException: Prohibition of table update operation
userService.saveOrUpdate(user, null);
return "success";
}

/**
* 部分更新
*
* # 使用插件后,也可部分表更新
* UPDATE user SET username=?, password=? WHERE (id = ?)
* custom_name(String), [email protected](String), 1(Integer)
*/
@RequestMapping("/test2")
@ResponseBody
public String test2(){
LambdaUpdateWrapper<User> wrapper = new LambdaUpdateWrapper<>();
wrapper.eq(User::getId, 1);
User user = new User();
user.setId("10");
user.setUsername("custom_name");
user.setPassword("[email protected]");
userService.saveOrUpdate(user, wrapper);
return "success";
}

}



标签:插件,String,删除,防全表,User,new,com,user
From: https://blog.51cto.com/chniny/5728435

相关文章

  • 多租户插件
    ​​官方文档​​配置类@Configuration@MapperScan("org.example.demo15.mapper")publicclassMybatisPlusConfig{/***新多租户插件配置,一缓和二缓遵循mybatis......
  • 动态表名插件
    ​​官方文档​​pom.xml,注意mybatisplus版本需高于3.4.3.2<dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spr......
  • centos7 删除图形界面
    按照/etc/inittab内部说明做如下改动#改名备份 mv/etc/systemd/system/default.target/etc/systemd/system/default.target.bak #重新软连接文本界面......
  • 【Android】Android--选择多张图片,支持拖拽删除、排序、预览图片
    参考:Android--选择多张图片,支持拖拽删除、排序、预览图片-简书(jianshu.com)关键:https://github.com/StevenYan88/SelectImage ......
  • 创建、修改、删除表
    表的创建、修改与删除:1.1直接创建表: 12345678910111213CREATETABLE[IFNOTEXISTS]tb_name--不存在才创建,存在就跳过(column_name1d......
  • 二叉排序树的删除
    分3种情况代码实现publicclassBinarySortTreeDemo{publicstaticvoidmain(String[]args){int[]arr={7,3,10,12,5,1,9,2};BinarySortTreebinary......
  • VSCode编写博客插件
    @目录前言MarkdownToolsMarkdownPreviewEnhanced博客园Cnblogs客户端插入图片一键发布前言在编写博客的道路上面,几经波折,以前写博客,都是直接使用CSDN或者博客园在线编......
  • graylog 插件模型之PluginModule
    graylog的PluginModule可以简化graylog插件的开发,方便我们进行扩展参考功能类结构从下图可以看出是依赖了guice进行的包装,代码中好多都是支持依赖PluginModule开......
  • nonebot2插件入门-你的第一个机器人插件(发送文字消息)
    机器人需要各种插件来实现各种功能,只有个机器人框架是不够的。......
  • vue element-ui 基本使用和按需加载的2种方式(推荐安装插件的方式)
    element-ui官网:https://element.eleme.cn/#/zh-CN/component/installation 安装npminstallelement-ui-S不太清楚这里为什么是-S的朋友可以看看我的这篇文章......