MyBatis-Plus的业务层
步骤1 : 构建员工业务层服务接口
//自定义一个业务服务接口IEmployeeService去继承父接口IService
//明确父接口中的泛型:为当前接口操作的实体类对象:Employee
public interface IEmployeeService extends IService<Employee> {
}
步骤2 : 实现员工业务层接口
/**
* 自定义服务接口实现类,实现IEmployeeService接口
* 继承通用的父类接口实现类ServiceImpl
* 明确指定通用父类接口的两个泛型
* 1.当前服务类操作的实体对象所对应的mapper接口:EmployeeMapper
* 2.当前服务类操作的实体类对象:Employee
*/
@Service
public class EmployeeServiceImpl extends ServiceImpl<EmployeeMapper, Employee>implements IEmployeeService {
}
常用服务层方法
方法解析 :
以getById为例 :
getById是接口的默认方法 , 底层其实还是在调用getBaseMapper对象去执行selectById方法
调用getBaseMapper方法也是IService接口定义的方法 , 继续看下去 , 去到serviceImpl类的getBaseMapper方法
就可以看到BaseMapper其实也就是使用@Autowired注入进来的 , 具体类型是泛型M , 而在定义EmployeeServiceImpl类时
总结 : IService接口中的方法底层都是使用的Mapper接口中的方法实现的
使用MyBatis-Plus的建议
单表操作首选MyBatis-Plus
复杂 , 多表操作选择MyBatis+MyBatis-Plus
追求代码结构清爽 , 追求性能极致 , 代码有重构要求项目不建议使用MyBatis-Plus