我想问下,IService那个接口有什么作用啊,有没有什么更方便的解决这种基础知识问题的方法,可以指点我一下,谢谢
IService源码:
public interface IService<T> {
int DEFAULT_BATCH_SIZE = 1000;
default boolean save(T entity) {
return SqlHelper.retBool(this.getBaseMapper().insert(entity));
}
........
}
1、首先Iservice是一个接口,作者定义接口的目的是,可能每个实体T都存在增删改查(CRUD)等功能,我们使用一个接口来抽象出这些相同的方法或者操作。
2、再看实现方法:不管是用JDBC实现还是MyBatis-plus自带的实现都可以很方便实现。
3、再说一个优点:假如你的项目的数据库是MySQL,现在要换成Oracle,那你只需要继承IService接口,去实现Oracle相关的服务层的代码就可以了,MySQL服务层代码一点也不用动。
4、不知道你看没看Java的设计模式,他有几个原则,其中最重要的一个原则是“对扩展开放,对修改关闭”,这体现了Java里面的接口和抽象类的重要性。
鄙人才疏学浅,多多指教。
你是说mybatis-plus的?里面有封装的方法
面向接口开发,易扩展。