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接口使用内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
Kafka是什么及如何使用SpringBoot对接Kafka(最新推荐)
这篇文章主要介绍了Kafka是什么,以及如何使用SpringBoot对接Kafka,今天我们通过一个Demo讲解了在SpringBoot中如何对接Kafka,也介绍了下关键类 KafkaTemplate,需要的朋友可以参考下2023-11-11
springboot中server.ssl.key-store配置路径的问题小结
这篇文章主要介绍了springboot中server.ssl.key-store配置路径的问题,文中还记录了Spring Boot SSL(https)实例,介绍在web程序中使用自签名的SSL(HTTPS)证书及创建SSL认证,感兴趣的朋友跟随小编一起看看吧2024-02-02


最新评论