package hamaster.gradesign.dao; import java.io.Serializable; import java.util.List; public interface DAO { /** * 根据实体的主键从数据库中获取到实体 * @param entityClass 实体类 * @param primaryKey 主键 * @return 实体类的实例 */ <T> T get(Class<T> entityClass, Serializable primaryKey); /** * 获取特定数量的实体 * @param entityClass 实体类 * @param page 页码 从0开始 * @param amount 每一页数量 -1为全部 * @return 实体类列表 */ <T> List<T> list(Class<T> entityClass, int page, int amount); /** * 将实体持久化至数据库 * @param entity 要持久化的实体 */ void add(Object entity); /** * 更新数据库中的实体 * @param entity 新实体 */ void update(Object entity); /** * 从数据库中删除实体 * @param entityClass 实体类 * @param primaryKey 主键 */ void delete(Object entity); }