加油,新时代打工人。
- MyBatis-Plus快速入门–环境搭建
- MyBatis-Plus–三种方式整合之一 Mybatis+MP整合
- MyBatis-Plus–三种方式整合之二 Spring+MP整合
- MyBatis-Plus–三种方式整合之三 Spring Boot+MP整合
- 【详细】Spring Boot+Mybatis Plus (全CRUD和分页查询)
- MyBatis–Plus之执行 SQL 分析打印
半个月前,我们测试了全MP-CRUD和分页,今天我们看看为什么不用像以前Mybatis那样,写一堆SQL语句才可以完成CRUD操作。
MP中SQL注入的原理
一、底层实现
- 我们双击shift来搜索SQL自定义注入类 —ISqlInjector
- 单击打开该类,是个接口,我们查看有哪些抽象方法
- Ctrl+H 查看抽象方法
4.双击打开ISqlInjector的抽象方法 AbstractSqlInjector有两个方法
(1)第一个方法来检查注入,里面有个循环判断注入自定义方法
(2)第二个方法是注入的集合,我们来查看这个集合
(3)Ctrl+H我们看到这个里面的方法就是我们直接调用的CRUD
二、Debug调试查看
-
这里我们用测试查询所有的注入selectList,双击打开即可
-
在sql语句上打个断点
-
我们在调用selectList上打个断点
-
Debug运行,F8下一步走到 return到映射表的语句
4.我们单击进入 addSelectMappedStatementForTable,进入到了这里我们看到在传统的JDBC中我们写的返回结果集,这里都给我们返回出来了
-
我们继续运行Debug,我们看到跳到了我们调用selectList,将结果集给我们了。