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接口使用内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
Java中基于Shiro,JWT实现微信小程序登录完整例子及实现过程
这篇文章主要介绍了Java中基于Shiro,JWT实现微信小程序登录完整例子 ,实现了小程序的自定义登陆,将自定义登陆态token返回给小程序作为登陆凭证。需要的朋友可以参考下2018-11-11
关于MyBatis通用Mapper@Table注解使用的注意点
这篇文章主要介绍了关于MyBatis通用Mapper@Table注解使用的注意点,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2021-11-11
maven依赖关系中的<scope>provided</scope>使用详解
这篇文章主要介绍了maven依赖关系中的<scope>provided</scope>使用详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2020-07-07


最新评论