Mybatis-Plus之浅谈SQL注入的原理

加油,新时代打工人。

  1. MyBatis-Plus快速入门–环境搭建
  2. MyBatis-Plus–三种方式整合之一 Mybatis+MP整合
  3. MyBatis-Plus–三种方式整合之二 Spring+MP整合
  4. MyBatis-Plus–三种方式整合之三 Spring Boot+MP整合
  5. 【详细】Spring Boot+Mybatis Plus (全CRUD和分页查询)
  6. MyBatis–Plus之执行 SQL 分析打印
    半个月前,我们测试了全MP-CRUD和分页,今天我们看看为什么不用像以前Mybatis那样,写一堆SQL语句才可以完成CRUD操作。

一、底层实现

  1. 我们双击shift来搜索SQL自定义注入类 —ISqlInjector
    在这里插入图片描述
  2. 单击打开该类,是个接口,我们查看有哪些抽象方法
    在这里插入图片描述
  3. Ctrl+H 查看抽象方法
    在这里插入图片描述
    4.双击打开ISqlInjector的抽象方法 AbstractSqlInjector有两个方法
    (1)第一个方法来检查注入,里面有个循环判断注入自定义方法
    在这里插入图片描述
    (2)第二个方法是注入的集合,我们来查看这个集合
    在这里插入图片描述
    (3)Ctrl+H我们看到这个里面的方法就是我们直接调用的CRUD
    在这里插入图片描述

二、Debug调试查看

  1. 这里我们用测试查询所有的注入selectList,双击打开即可
    在这里插入图片描述

  2. 在sql语句上打个断点
    在这里插入图片描述

  3. 我们在调用selectList上打个断点
    在这里插入图片描述

  4. Debug运行,F8下一步走到 return到映射表的语句
    在这里插入图片描述
    4.我们单击进入 addSelectMappedStatementForTable,进入到了这里我们看到在传统的JDBC中我们写的返回结果集,这里都给我们返回出来了
    在这里插入图片描述

  5. 我们继续运行Debug,我们看到跳到了我们调用selectList,将结果集给我们了。
    在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Hello World呀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值