MP的BaseMapper接口
我们的UserMapper之所以有那么多现成的方法,得益于继承了MP的BaseMapper接口。该接口的方法如下:
可以看到,基本我们常用的增删改查都在这个接口中定义了。这里可以看看MP的架构来帮助理解为什么继承了接口就能有一堆好用的方法了。
主要看左侧这块,MP会扫描Entity类,通过反射提取,能分析出表和相对应的字段值,然后改造成增删改查的sql语句,注入到Mybatis的中完成最终的sql操作。
这里可以把MP想象成一个AOP,当执行insert,update,delete,select方法时,切面发现你要执行相应的sql语句,然后分析entity类,把它拼接成要执行的sql语句交给mybatis来执行;然后还能把mybatis执行的结果通过AOP方式再转换成想要的最终结果。
基本的增删改查测试
这里先不测试Warpper【包装器】相关的方法。单独放到后面章节来测试。
1.插入方法
就一个插入方法。这个插入方法,比以前用到的框架有个好的地方,就是表的id字段名不用再叫id了。比如可以叫userid,orderid等都是可以的。而且插入后都能回填回来的。
2.删除方法
3.修改方法
因为上面删除了所有记录,再测试该方法前,加入了张三、李四两条记录
4.查询方法