package hamaster.gradesign.idmgmt; import java.util.Collection; import java.util.List; /** * 全部业务接口的父接口 * @author <a href="mailto:wangyeee@gmail.com">Wang Ye</a> */ public interface CommonDAO { /** * 将实体持久化至数据库 * @param entity 要持久化的实体 */ void save(Object entity); /** * 将实体批量存入数据库 * @param entities 要储存的实体集合 */ void batchSave(Collection<?> entities); /** * 更新数据库中的实体 * @param entity 新实体 * @return 状态为已更新的实体 */ Object update(Object entity); /** * 从数据库中删除实体 * @param entityClass 实体类 * @param primaryKey 主键 */ void delete(Class<?> entityClass, Object primaryKey); /** * 根据实体的主键从数据库中获取到实体 * @param <T> 模板类 * @param entityClass 实体类 * @param primaryKey 主键 * @return 实体类的实例 */ <T> T find(Class<T> entityClass, Object primaryKey); /** * 获取实体列表 * @param entityClass 实体类型 * @param page 分页页码 从0开始 * @param amountPerPage 每一页数量 * @return 类实例列表 */ <T> List<T> list(Class<T> entityClass, int page, int amountPerPage); }