这是一张简单的service的继承图。可以看到我们的执行类,即XxxServiceImpl的继承关系。
从上到下,ServiceImpl和BaseMapper是一个依赖关系,ServiceImpl和Iservice是一个实现关系。即ServiceImpl实现了IService中定义的方法,这里为什么会有个BaseMapper的依赖呢?
原因是要用到BaseMapper中一些基础的表操作方法,用于实现Iservice中较为复杂的查询方法。
左边的接口IRolerService是继承自IService,主要是为了扩展IService,一些用于业务逻辑的复杂查询,实现IRoleService了的RoleServiceImpl做了一些操作复杂业务逻辑的具体实现。
总的来说,IService是抽象了一些常用的复杂的表操作方法。BaseMapper抽象了一些简单的表操作方法。
目前有一个疑问,就是BaseMapper的这些简单的操作方法是怎么实现的?如果有朋友看到,或者大神知道,希望可以指导一下