|
|
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();
|
|
|
} |