package com.tszr.mango.core.service; import java.util.List; import com.tszr.mango.core.page.PageRequest; import com.tszr.mango.core.page.PageResult; public interface CurdService<T> { /** * 保存操作 * * @param record * @return */ int save(T record); /** * 删除操作 * * @param record * @return */ int delete(T record); /** * 批量删除操作 * * @param entities */ int delete(List<T> records); /** * 根据ID查询 * * @param id * @return */ T findById(Long id); /** * 分页查询 这里统一封装了分页请求和结果,避免直接引入具体框架的分页对象, 如MyBatis或JPA的分页对象 * 从而避免因为替换ORM框架而导致服务层、控制层的分页接口也需要变动的情况,替换ORM框架也不会 影响服务层以上的分页接口,起到了解耦的作用 * * @param pageRequest 自定义,统一分页查询请求 * @return PageResult 自定义,统一分页查询结果 */ PageResult findPage(PageRequest pageRequest); }