Mybatis-plus中IService接口的基本使用步骤
前言
Mybatis-plus的IService接口:IService接口解释,我们可以看到IService接口就是有一大堆方法接口。
IService的使用:
IService的使用需要另外两个接口的配合:baseMapper和ServiceImpl
第一步:实现basemapper接口
public interface AdminMapper extends BaseMapper<Admin> { }
第二步:编写service类
public interface AdminService extends IService<Admin> { }
第三步:编写serviceImpl,ServiceImpl里面是各种的方法实现
好奇的可以点进源码看下,两个泛型需要注意的,第一个是继承basemapper的(AdminMapper),第二个是实体类(Admin)。
public class AdminServiceImpl extends ServiceImpl<AdminMapper,Admin> implements AdminService {}
//查看源码后发现ServiceImpl类使用到了BaseMapper接口T和实现类M,并实现了IService接口 public class ServiceImpl<M extends BaseMapper<T>, T> implements IService<T> {...}
第四步:在controller层,我们可以参考IService接口解释或者Mybatis-plus官网的方法解释来调用。
@Autowired AdminService adminService; void test11(){ // adminService中有很多方法 Admin admin = adminService.getById(13); }
综合来看,比较合理的解释是:
1、从分层角度来解释,BaseMapper是DAO层的CRUD封装,而IService是业务业务逻辑层的CRUD封装,所以多了批量增、删、改的操作封装,这也比较符合官方指南中的阐述;
2、IService是对BaseMapper的扩展,从BaseMapper、IService、ServiceImpl三者的类关系以及源码可以看出;
此外,个人认为应该还有一个原因,就是IService和BaseMapper提供的是两种实现方式:
如果继承BaseMapper,则不需要去实现其内部方法,依靠mybatis的动态代理即可实现CRUD操作;
而如果自定义IBaseService去继承IService,则需要去实现IService中的方法;
总结
到此这篇关于Mybatis-plus中IService接口的基本使用步骤的文章就介绍到这了,更多相关Mybatis-plus中IService接口使用内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
mybatis 返回Integer,Double,String等类型的数据操作
这篇文章主要介绍了mybatis 返回Integer,Double,String等类型的数据操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2020-11-11idea2020.3配置maven环境并配置Tomcat的详细教程
这篇文章主要介绍了idea2020.3配置maven环境并配置Tomcat的详细教程,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2021-03-03
最新评论