使用LamdbaUpdateWrapper的setSql作用及风险

简介: 使用LamdbaUpdateWrapper的setSql作用及风险

title: 使用LamdbaUpdateWrapper的setSql作用及风险

date: 2022-04-12 18:10:34

tags: java


问题引入

先思考下:我们要对数据库里面的某条数据进行更新,并且想要在某个字段原先的基础上修改,我们怎么办?


正常的情况下,我们需要先查出来再更新,可就是想直接更新,那就需要去Mapper中写sql,就为了一个字段感觉费劲,在这种情况下使用LamdbaUpdateWrapper的setSql()方法即可。


//把num字段加5
LambdaUpdateWrapper<User> updateWrapper = Wrappers.<User>lambdaUpdate()
  .eq(User::getId, userId)
  .setSql("count = count + 5");
userService.update(updateWrapper);

BUT,这样就会存在可能有风险,主要还是为了测试mybatis-plus,是否进行的防范,经过测试,并没有。


比如就使用最常见的 sleep(),把这部分加到sql段中 + sleep(5)


LambdaUpdateWrapper<User> updateWrapper = Wrappers.<User>lambdaUpdate()
                .eq(User::getId, userId)
                .setSql("count = count + 5 + sleep(5)");

1.png

不过话说回来,这也就是开发人员能接触到的,只是证明mybatis-plus并没有对setSql()进行过滤,是采取直接拼上去的方式。


每日单词


2.png

以上就是使用LamdbaUpdateWrapper的setSql作用及风险的全部内容

相关文章
|
JavaScript
vue element-ui中有关表格中的数据整条显示红色/绿色等等颜色的问题
vue element-ui中有关表格中的数据整条显示红色/绿色等等颜色的问题
793 1
|
开发工具 git
Git - Smart Checkout、Force Checkout 区别
Git - Smart Checkout、Force Checkout 区别
3158 0
Git - Smart Checkout、Force Checkout 区别
6、Mybatis-Plus wrapper的使用
这篇文章详细介绍了Mybatis-Plus中Wrapper的使用,包括QueryWrapper和UpdateWrapper的基本概念、组装查询、排序、删除、修改条件的方法,以及如何设置条件优先级、组装SELECT子句和实现子查询等高级用法。
|
9月前
|
JSON 搜索推荐 数据挖掘
闲鱼商品列表API完整指南
闲鱼商品列表API(goodfish.item_search)支持通过关键词、分类、价格等条件搜索商品,返回JSON格式数据,适用于比价工具、数据分析、推荐系统等场景。
1264 2
|
网络协议 Windows
【IntelliJ IDEA】idea plugins搜索不出来,如何找到插件的解决方案
【IntelliJ IDEA】idea plugins搜索不出来,如何找到插件的解决方案
18818 1
|
消息中间件 Java 数据库
Spring事务监听机制---使用@TransactionalEventListener处理数据库事务提交成功后再执行操作(附:Spring4.2新特性讲解)【享学Spring】(上)
Spring事务监听机制---使用@TransactionalEventListener处理数据库事务提交成功后再执行操作(附:Spring4.2新特性讲解)【享学Spring】(上)
|
API
二维码操作[二维码生成]免费API接口教程
二维码生成接口支持自定义内容、颜色、大小等参数,通过POST或GET请求方式访问。用户需提供ID和KEY,可选设置容错级别、图片大小及背景色等。返回状态码及二维码链接或错误信息。示例与详情参见官方文档。
1165 3
|
人工智能 自然语言处理 分布式计算
阿里云通义灵码使用技巧
随着人工智能技术的发展,云端服务提供商越来越重视在 AI 领域的布局。阿里云推出的**通义灵码**作为其 AI 大模型的重要组成部分,为企业和开发者提供了强大的自然语言处理(NLP)和数据分析能力。在这篇文章中,我们将深入探讨如何高效使用阿里云通义灵码,并为开发者提供一些实用的使用技巧。
1081 4
|
缓存 弹性计算 Java
云效产品使用报错问题之maven仓设置为私有后,赋予成员权限未生效,拉包401要如何解决
本合集将整理呈现用户在使用过程中遇到的报错及其对应的解决办法,包括但不限于账户权限设置错误、项目配置不正确、代码提交冲突、构建任务执行失败、测试环境异常、需求流转阻塞等问题。阿里云云效是一站式企业级研发协同和DevOps平台,为企业提供从需求规划、开发、测试、发布到运维、运营的全流程端到端服务和工具支撑,致力于提升企业的研发效能和创新能力。