You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
SDMS/src/com/itheima/dao/ClassDao.java

99 lines
5.9 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

package com.itheima.dao;
import com.itheima.po.Class;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 管理员DAO层接口定义了与班级相关数据操作的各种方法这些方法会在具体的数据库访问实现类例如MyBatis的Mapper XML文件对应的实现类中被实现
* 进而完成针对班级数据在数据库中的增删改查以及其他相关查询操作。
*/
public interface ClassDao {
/**
* 进行分页查询相关操作的方法声明部分
* 分页查询通常包含两个主要步骤,一是统计符合条件的记录总条数,二是获取指定页码下的记录列表,以下两个方法分别对应这两个功能。
*/
/**
* 获取总条数的方法声明
* 根据传入的班级名称、班级ID以及辅导员信息等条件从数据库中统计出符合这些条件的班级记录的总条数。
* 使用了@Param注解为参数指定名称方便在对应的SQL语句如MyBatis的Mapper XML文件里的SQL语句中准确引用这些参数。
*
* @param c_classname 班级名称可为null用于根据班级名称进行模糊或精确筛选统计若为null则不按此条件筛选
* @param c_classid 班级的唯一标识ID可为null用于根据具体ID精确筛选统计若为null则不按此条件筛选
* @param c_counsellor 辅导员信息可为null用于根据辅导员姓名等相关信息进行模糊或精确筛选统计若为null则不按此条件筛选
* @return 返回符合条件的班级记录的总条数数据类型为Integer。
*/
//获取总条数
public Integer totalCount(@Param("c_classname") String c_classname, @Param("c_classid") Integer c_classid, @Param("c_counsellor") String c_counsellor);
/**
* 获取用户列表的方法声明
* 根据传入的班级名称、班级ID、辅导员信息以及当前页码、每页显示数量等条件从数据库中获取对应页的班级信息列表。
* 通过@Param注解明确参数名称以确保在SQL语句中能正确引用各参数来获取准确的数据。
*
* @param c_classname 班级名称可为null用于根据班级名称进行模糊或精确筛选获取列表若为null则不按此条件筛选
* @param c_classid 班级的唯一标识ID可为null用于根据具体ID精确筛选获取列表若为null则不按此条件筛选
* @param c_counsellor 辅导员信息可为null用于根据辅导员相关信息进行模糊或精确筛选获取列表若为null则不按此条件筛选
* @param currentPage 当前页码用于确定要获取哪一页的数据例如currentPage为1表示获取第一页的班级信息。
* @param pageSize 每页显示的记录数量比如pageSize为10表示每页展示10条班级信息记录。
* @return 返回符合条件的当前页的班级信息列表类型为List<Class>。
*/
//获取用户列表
public List<Class> getClassList(@Param("c_classname") String c_classname, @Param("c_classid") Integer c_classid, @Param("c_counsellor") String c_counsellor, @Param("currentPage") Integer currentPage, @Param("pageSize") Integer pageSize);
/**
* 删除班级信息的方法声明
* 根据传入的班级的唯一标识ID从数据库中删除对应的班级记录。
*
* @param c_id 要删除的班级的唯一标识ID。
* @return 返回一个整数表示数据库受影响的行数一般来说删除成功返回1若未找到对应记录则删除失败返回0具体取决于数据库操作的返回机制
*/
public int deleteClass(Integer c_id); //删除班级信息
/**
* 添加班级信息的方法声明
* 接收一个包含班级详细信息的Class对象将其信息插入到数据库中实现添加班级的操作。
*
* @param ucalss 包含要添加的班级详细信息的对象,例如班级名称、班级人数、辅导员等相关信息。
* @return 返回一个整数表示数据库受影响的行数通常添加成功返回1添加失败返回0等情况具体取决于数据库操作的返回机制
*/
public int addClass(Class ucalss); //添加班级信息
/**
* 修改班级信息的方法声明
* 接收一个包含修改后班级信息的Class对象依据对象中的信息更新数据库中对应的班级记录。
*
* @param uclass 包含修改后的班级详细信息的对象,比如更新后的班级名称、班级人数变动等信息。
* @return 返回一个整数表示数据库受影响的行数一般更新成功返回1更新失败返回0等情况具体取决于数据库操作的返回机制
*/
public int updateClass(Class uclass); //修改班级信息
/**
* 根据班级ID查询班级信息的方法声明
* 根据传入的班级的唯一标识ID从数据库中查找并返回对应的班级记录信息以Class对象形式返回
*
* @param c_id 要查询的班级的唯一标识ID。
* @return 返回查找到的Class对象如果没有找到对应记录则返回null。
*/
public Class findClassById(Integer c_id);
/**
* 查询班级人员信息的方法声明
* 接收一个包含班级相关筛选条件等信息的Class对象依据这些条件从数据库中查询出该班级的人员信息列表。
*
* @param uclass 包含班级相关条件信息的对象可用于精确查询某个班级的人员信息例如通过班级ID等关联条件来查找对应班级下的学生等人员信息。
* @return 返回符合条件的班级人员信息列表类型为List<Class>。
*/
public List<Class> findClassStudent(Class uclass);//查询班级人员信息
/**
* 获取所有班级信息的方法声明
* 从数据库中查询并返回所有的班级记录信息列表,用于一些需要获取全部班级数据的场景,比如展示所有班级的基本情况等操作。
*
* @return 返回包含所有班级信息的列表类型为List<Class>。
*/
public List<Class> getAll();
}