zzx_branch1
lxb 8 months ago
parent 9728b0799e
commit 157b621c9a

@ -1,12 +1,34 @@
package dao;
import domain.Admin;
import domain.Admin; // 引入 Admin 类,表示管理员数据
/**
* AdminDao 访
*/
public interface AdminDao {
/**
* ID
*
* @param id ID
* @param password
* @return null
*/
Admin findAdminidAndPassword(String id, String password);
/**
*
*
* @param adminid ID
* @param newpassword
*/
void updatePassword(String adminid, String newpassword);
/**
* ID
*
* @param a_id ID
* @return null
*/
Admin findAdminById(String a_id);
}
//dashdhasd

@ -1,15 +1,39 @@
package dao;
import domain.CDC;
import domain.CDC; // 引入 CDC 类,表示学院、部门和班级的数据
import java.util.List;
import java.util.List; // 引入 List 类,用于存储返回的查询结果
/**
* CDCDao 访
*/
public interface CDCDao {
/**
*
*
* @return
*/
List<CDC> findAllCollege();
/**
*
*
* @return
*/
List<CDC> findAllDepartment();
/**
*
*
* @return
*/
List<CDC> findAllClass();
/**
*
*
* @return
*/
List<CDC> findAll();
}

@ -1,11 +1,25 @@
package dao;
import domain.Complaint;
import domain.Complaint; // 引入 Complaint 类,表示投诉数据
import java.util.List;
import java.util.List; // 引入 List 类,用于存储返回的投诉列表
/**
* ComplaintDao 访
*/
public interface ComplaintDao {
/**
*
*
* @return
*/
List<Complaint> findAllComplaint();
/**
*
*
* @param complaint
*/
void addComplaint(Complaint complaint);
}

@ -1,11 +1,31 @@
package dao;
import domain.Course;
import domain.Course; // 引入 Course 类,表示课程数据
/**
* CourseDao 访
*/
public interface CourseDao {
/**
*
*
* @param course
*/
void addOptionalCourse(Course course);
/**
* ID
*
* @param cid ID
* @return Course null
*/
Course findSelectCourseByCourseId(String cid);
/**
* ID
*
* @param cid ID
*/
void deleteServiceById(String cid);
}

@ -1,16 +1,39 @@
package dao;
import domain.Notify;
import domain.Notify; // 引入 Notify 类,表示通知数据
import java.util.List;
import java.util.List; // 引入 List 类,表示通知列表
/**
* NotifyDao 访
*/
public interface NotifyDao {
/**
*
*
* @param notify
*/
void add(Notify notify);
/**
* 3
*
* @return 3 List<Notify>
*/
List<Notify> findNotify();
/**
* ID
*
* @return List<Notify>
*/
List<Notify> findAllNotify();
/**
* ID
*
* @param notifyid ID
*/
void deleteNotifyById(String notifyid);
}

@ -1,11 +1,31 @@
package dao;
import domain.Photo;
import domain.Photo; // 引入 Photo 类,表示照片数据
/**
* PhotoDao 访
*/
public interface PhotoDao {
/**
*
*
* @param photo
*/
void addPhoto(Photo photo);
/**
* ID
*
* @param id ID
* @return Photo null
*/
Photo findPhotoByPhotoId(String id);
/**
*
*
* @param photo
*/
void updatePhoto(Photo photo);
}

@ -1,13 +1,37 @@
package dao;
import domain.SelectCourse;
import domain.SelectCourse; // 引入 SelectCourse 类,表示学生选课数据
import java.util.List;
import java.util.List; // 引入 List 类,用于返回多个选课记录
/**
* SelectCourseDao 访
*/
public interface SelectCourseDao {
/**
* ID
*
* @param cid ID
* @return ID ID
*/
List<SelectCourse> findStudentSelectedCourseByCourseId(String cid);
/**
* ID ID
*
* @param cid ID
* @param sid ID
* @return
*/
SelectCourse findScoreByCourseIdAndStudentId(String cid, String sid);
/**
*
*
* @param cid ID
* @param sid ID
* @param sScore
*/
void upDateScoreByCidAndSid(String cid, String sid, String sScore);
}

@ -1,41 +1,122 @@
package dao;
import domain.Course;
import domain.SelectCourse;
import domain.Student;
import domain.Course; // 引入 Course 类,表示课程信息
import domain.SelectCourse; // 引入 SelectCourse 类,表示学生的选课信息
import domain.Student; // 引入 Student 类,表示学生信息
import java.util.List;
import java.util.Map;
import java.util.List; // 引入 List 类,用于返回多个学生或选课记录
import java.util.Map; // 引入 Map 类,用于接收条件查询参数
/**
* DAO
* DAO
*/
public interface StudentDao {
/**
*
*
* @param start
* @param rows
* @param condition Map
* @return
*/
List<Student> findByPage(int start, int rows, Map<String, String[]> condition);
/**
*
*
* @return
*/
List<Student> findAll();
/**
* ID
*
* @param id
* @param password
* @return null
*/
Student findStudentidAndPassword(String id, String password);
/**
* ID
*
* @param s_id
* @return
*/
Student findStudentById(String s_id);
/**
*
*
* @param student
*/
void addStudent(Student student);
/**
*
*
* @param student
*/
void updateInfo(Student student);
/**
*
*
* @param studentid
* @param newpassword
*/
void updatePassword(String studentid, String newpassword);
/**
*
*
* @param studentid
* @return
*/
List<SelectCourse> findAllSelectCourse(String studentid);
/**
*
*
* @return
*/
List<Course> findAllOptionalCourse();
/**
*
*
* @param studentid
* @param courseid ID
*/
void addSelectCourse(String studentid, String courseid);
/**
* ID
*
* @param studentid
*/
void deleteStudentById(String studentid);
/**
*
*
* @param condition Map
* @return
*/
int findTotalCount(Map<String, String[]> condition);
/**
*
*
* @param updateStudent
*/
void addStudentAllInfo(Student updateStudent);
/**
*
*
* @return
*/
List<SelectCourse> findSelectCourseAllStudent();
}

@ -1,33 +1,95 @@
package dao;
import domain.Course;
import domain.Teacher;
import domain.Course; // 引入 Course 类,表示课程信息
import domain.Teacher; // 引入 Teacher 类,表示教师信息
import java.util.List;
import java.util.List; // 引入 List 类,用于返回多个教师或课程信息
/**
* DAO
* DAO
*/
public interface TeacherDao {
/**
* ID
*
* @param id
* @param password
* @return null
*/
Teacher findTeacheridAndPassword(String id, String password);
/**
*
*
* @return
*/
List<Teacher> findAll();
/**
* ID
*
* @param t_id
* @return
*/
List<Course> findMySelfOptionalCourse(String t_id);
/**
* ID
*
* @param cid ID
* @return
*/
Course findOptionalCourseByCourseId(String cid);
/**
*
*
* @param updateCourse
*/
void updateCourseInfo(Course updateCourse);
/**
*
*
* @param cid ID
*/
void deleteCourseById(String cid);
/**
*
*
* @param teacherid
* @param newpassword
*/
void updatePassword(String teacherid, String newpassword);
/**
* ID
*
* @param t_id
* @return
*/
Teacher findTeacherById(String t_id);
/**
*
*
* @param updateTeacher
*/
void addTeacherAllInfo(Teacher updateTeacher);
/**
* ID
*
* @param teacherid
*/
void deleteTeacherById(String teacherid);
/**
*
*
* @param updateTeacher
*/
void updateInfo(Teacher updateTeacher);
}

@ -1,46 +1,79 @@
package dao.impl;
import dao.AdminDao;
import domain.Admin;
import org.springframework.dao.DataAccessException;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import utils.JDBCUtils;
import dao.AdminDao; // 引入 AdminDao 接口,定义管理员相关的数据访问方法
import domain.Admin; // 引入 Admin 实体类,表示管理员数据
import org.springframework.dao.DataAccessException; // 引入数据库访问异常类
import org.springframework.jdbc.core.BeanPropertyRowMapper; // 用于将查询结果映射为 Java 对象
import org.springframework.jdbc.core.JdbcTemplate; // JDBC 操作模板,用于简化数据库操作
import utils.JDBCUtils; // 自定义工具类,用于获取数据库数据源
/**
* AdminDaoImpl
*/
public class AdminDaoImpl implements AdminDao {
// 使用 JdbcTemplate 对数据库进行操作JDBCUtils 提供数据源
private JdbcTemplate template = new JdbcTemplate(JDBCUtils.getDataSource());
/**
* ID
*
* @param id ID
* @param password
* @return null
*/
@Override
public Admin findAdminidAndPassword(String id, String password) {
try {
// SQL 查询语句:根据管理员 ID 和密码查询管理员
String sql = "select * from admin where a_id = ? and a_password = ?";
Admin admin = template.queryForObject(sql,new BeanPropertyRowMapper<Admin>(Admin.class),id,password);
return admin;
// 执行查询,并将结果映射为 Admin 对象
Admin admin = template.queryForObject(sql, new BeanPropertyRowMapper<>(Admin.class), id, password);
return admin; // 返回找到的管理员
} catch (DataAccessException e) {
// 捕获数据库访问异常并打印堆栈信息
e.printStackTrace();
return null;
return null; // 查询失败时返回 null
}
}
/**
*
*
* @param adminid ID
* @param newpassword
*/
@Override
public void updatePassword(String adminid, String newpassword) {
try {
// SQL 更新语句:根据管理员 ID 更新密码
String sql = "update admin set a_password=? where a_id=?";
template.update(sql,newpassword,adminid);
// 执行更新操作
template.update(sql, newpassword, adminid);
} catch (Exception e) {
// 捕获异常并打印堆栈信息
e.printStackTrace();
}
}
/**
* ID
*
* @param id ID
* @return null
*/
@Override
public Admin findAdminById(String id) {
try {
// SQL 查询语句:根据管理员 ID 查询管理员
String sql = "select * from admin where a_id = ?";
Admin admin = template.queryForObject(sql,new BeanPropertyRowMapper<Admin>(Admin.class),id);
return admin;
// 执行查询,并将结果映射为 Admin 对象
Admin admin = template.queryForObject(sql, new BeanPropertyRowMapper<>(Admin.class), id);
return admin; // 返回找到的管理员
} catch (DataAccessException e) {
// 捕获数据库访问异常并打印堆栈信息
e.printStackTrace();
return null;
return null; // 查询失败时返回 null
}
}
}

@ -1,62 +1,92 @@
package dao.impl;
import dao.CDCDao;
import domain.CDC;
import org.springframework.dao.DataAccessException;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import utils.JDBCUtils;
// 引入相关类和接口
import dao.CDCDao; // 数据访问对象DAO接口
import domain.CDC; // 表示 CDC 表数据结构的实体类
import org.springframework.dao.DataAccessException; // 数据访问异常类
import org.springframework.jdbc.core.BeanPropertyRowMapper; // 用于将结果集映射为实体类
import org.springframework.jdbc.core.JdbcTemplate; // Spring 的 JDBC 模板类
import utils.JDBCUtils; // 自定义的工具类,用于获取数据源
import java.util.List;
import java.util.List; // Java 的 List 接口
/**
* CDCDaoImpl CDCDao CDC
*/
public class CDCDaoImpl implements CDCDao {
// 使用 JdbcTemplate 进行数据库操作,通过 JDBCUtils 获取数据源
private JdbcTemplate template = new JdbcTemplate(JDBCUtils.getDataSource());
/**
*
* @return CDC null
*/
@Override
public List<CDC> findAllCollege() {
try {
// SQL 语句:获取去重的学院名称
String sql = "select distinct college from college_department_class";
// 使用 JdbcTemplate 执行查询,并将结果映射为 CDC 对象
List<CDC> cdcs = template.query(sql, new BeanPropertyRowMapper<CDC>(CDC.class));
return cdcs;
return cdcs; // 返回查询结果
} catch (DataAccessException e) {
e.printStackTrace();
return null;
e.printStackTrace(); // 打印异常堆栈信息
return null; // 查询失败时返回 null
}
}
/**
*
* @return CDC null
*/
@Override
public List<CDC> findAllDepartment() {
try {
// SQL 语句:获取去重的系名称
String sql = "select distinct department from college_department_class";
// 使用 JdbcTemplate 执行查询,并将结果映射为 CDC 对象
List<CDC> cdcs = template.query(sql, new BeanPropertyRowMapper<CDC>(CDC.class));
return cdcs;
return cdcs; // 返回查询结果
} catch (DataAccessException e) {
e.printStackTrace();
return null;
e.printStackTrace(); // 打印异常堆栈信息
return null; // 查询失败时返回 null
}
}
/**
*
* @return CDC null
*/
@Override
public List<CDC> findAllClass() {
try {
// SQL 语句:获取去重的班级名称
String sql = "select distinct cclass from college_department_class";
// 使用 JdbcTemplate 执行查询,并将结果映射为 CDC 对象
List<CDC> cdcs = template.query(sql, new BeanPropertyRowMapper<CDC>(CDC.class));
return cdcs;
return cdcs; // 返回查询结果
} catch (DataAccessException e) {
e.printStackTrace();
return null;
e.printStackTrace(); // 打印异常堆栈信息
return null; // 查询失败时返回 null
}
}
/**
*
* @return CDC null
*/
@Override
public List<CDC> findAll() {
try {
// SQL 语句:获取表中所有数据
String sql = "select * from college_department_class";
// 使用 JdbcTemplate 执行查询,并将结果映射为 CDC 对象
List<CDC> cdcs = template.query(sql, new BeanPropertyRowMapper<CDC>(CDC.class));
return cdcs;
return cdcs; // 返回查询结果
} catch (DataAccessException e) {
e.printStackTrace();
return null;
e.printStackTrace(); // 打印异常堆栈信息
return null; // 查询失败时返回 null
}
}
}

@ -1,36 +1,54 @@
package dao.impl;
import dao.ComplaintDao;
import domain.Complaint;
import org.springframework.dao.DataAccessException;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import utils.JDBCUtils;
// 引入相关类和接口
import dao.ComplaintDao; // 数据访问对象DAO接口
import domain.Complaint; // 表示 Complaint 表数据结构的实体类
import org.springframework.dao.DataAccessException; // 数据访问异常类
import org.springframework.jdbc.core.BeanPropertyRowMapper; // 用于将结果集映射为实体类
import org.springframework.jdbc.core.JdbcTemplate; // Spring 的 JDBC 模板类
import utils.JDBCUtils; // 自定义工具类,用于获取数据源
import java.util.List;
import java.util.List; // Java 的 List 接口
/**
* ComplaintDaoImpl ComplaintDao Complaint
*/
public class ComplaintDaoImpl implements ComplaintDao {
// 使用 JdbcTemplate 进行数据库操作,通过 JDBCUtils 获取数据源
private JdbcTemplate template = new JdbcTemplate(JDBCUtils.getDataSource());
/**
* ID
* @return null
*/
@Override
public List<Complaint> findAllComplaint() {
try {
// SQL 语句:查询所有投诉记录并按 ID 倒序排列
String sql = "select * from complaint order by id DESC";
// 使用 JdbcTemplate 执行查询,并将结果映射为 Complaint 对象列表
List<Complaint> complaints = template.query(sql, new BeanPropertyRowMapper<Complaint>(Complaint.class));
return complaints;
return complaints; // 返回查询结果
} catch (DataAccessException e) {
e.printStackTrace();
return null;
e.printStackTrace(); // 打印异常堆栈信息
return null; // 查询失败时返回 null
}
}
/**
*
* @param complaint
*/
@Override
public void addComplaint(Complaint complaint) {
try {
// SQL 语句:向 complaint 表插入记录
String sql = "insert into complaint(cdate,content) values(?,?)";
template.update(sql,complaint.getCdate(),complaint.getContent());
// 使用 JdbcTemplate 执行更新操作
template.update(sql, complaint.getCdate(), complaint.getContent());
} catch (DataAccessException e) {
e.printStackTrace();
e.printStackTrace(); // 打印异常堆栈信息
}
}
}

@ -1,44 +1,69 @@
package dao.impl;
import dao.CourseDao;
import domain.Course;
import org.springframework.dao.DataAccessException;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import utils.JDBCUtils;
// 引入相关类和接口
import dao.CourseDao; // 数据访问对象DAO接口
import domain.Course; // 表示 Course 表数据结构的实体类
import org.springframework.dao.DataAccessException; // 数据访问异常类
import org.springframework.jdbc.core.BeanPropertyRowMapper; // 用于将结果集映射为实体类
import org.springframework.jdbc.core.JdbcTemplate; // Spring 的 JDBC 模板类
import utils.JDBCUtils; // 自定义工具类,用于获取数据源
/**
* CourseDaoImpl CourseDao Course
*/
public class CourseDaoImpl implements CourseDao {
// 使用 JdbcTemplate 进行数据库操作,通过 JDBCUtils 获取数据源
private JdbcTemplate template = new JdbcTemplate(JDBCUtils.getDataSource());
/**
*
* @param c Course
*/
@Override
public void addOptionalCourse(Course c) {
try {
// SQL 语句:向 course 表插入课程记录
String sql = "insert into course values(?,?,?,?)";
template.update(sql,c.getC_id(),c.getC_name(),c.getT_id(),c.getC_info());
// 使用 JdbcTemplate 执行插入操作
template.update(sql, c.getC_id(), c.getC_name(), c.getT_id(), c.getC_info());
} catch (DataAccessException e) {
e.printStackTrace();
e.printStackTrace(); // 打印异常堆栈信息
}
}
/**
* ID
* @param cid ID
* @return null
*/
@Override
public Course findSelectCourseByCourseId(String cid) {
try {
// SQL 语句:根据课程 ID 查找对应课程信息
String sql = "select * from course where c_id = ?";
Course course = template.queryForObject(sql,new BeanPropertyRowMapper<Course>(Course.class),cid);
return course;
// 使用 JdbcTemplate 执行查询,并将结果映射为 Course 对象
Course course = template.queryForObject(sql, new BeanPropertyRowMapper<Course>(Course.class), cid);
return course; // 返回查询结果
} catch (DataAccessException e) {
e.printStackTrace();
return null;
e.printStackTrace(); // 打印异常堆栈信息
return null; // 查询失败时返回 null
}
}
/**
* ID
* @param cid ID
*/
@Override
public void deleteServiceById(String cid) {
try {
// SQL 语句:根据课程 ID 删除对应课程记录
String sql = "delete from course where c_id=?";
template.update(sql,cid);
// 使用 JdbcTemplate 执行删除操作
template.update(sql, cid);
} catch (DataAccessException e) {
e.printStackTrace();
e.printStackTrace(); // 打印异常堆栈信息
}
}
}

@ -1,58 +1,88 @@
package dao.impl;
import dao.NotifyDao;
import domain.Notify;
import org.springframework.dao.DataAccessException;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import utils.JDBCUtils;
// 引入相关类和接口
import dao.NotifyDao; // 数据访问对象DAO接口
import domain.Notify; // 表示 Notify 表数据结构的实体类
import org.springframework.dao.DataAccessException; // 数据访问异常类
import org.springframework.jdbc.core.BeanPropertyRowMapper; // 用于将结果集映射为实体类
import org.springframework.jdbc.core.JdbcTemplate; // Spring 的 JDBC 模板类
import utils.JDBCUtils; // 自定义工具类,用于获取数据源
import java.util.List;
import java.util.List; // Java 的 List 接口
/**
* NotifyDaoImpl NotifyDao Notify
*/
public class NotifyDaoImpl implements NotifyDao {
// 使用 JdbcTemplate 进行数据库操作,通过 JDBCUtils 获取数据源
private JdbcTemplate template = new JdbcTemplate(JDBCUtils.getDataSource());
/**
*
* @param notify Notify
*/
@Override
public void add(Notify notify) {
try {
String sql = "insert into notify(notifyDate,notifyInfo) values(?,?)";
template.update(sql,notify.getNotifyDate(),notify.getNotifyInfo());
// SQL 语句:向 notify 表插入通知记录
String sql = "insert into notify(notifyDate, notifyInfo) values(?, ?)";
// 使用 JdbcTemplate 执行插入操作
template.update(sql, notify.getNotifyDate(), notify.getNotifyInfo());
} catch (DataAccessException e) {
e.printStackTrace();
e.printStackTrace(); // 打印异常堆栈信息
}
}
/**
* ID
* @return List null
*/
@Override
public List<Notify> findAllNotify() {
try {
// SQL 语句:查询所有通知记录并按 ID 倒序排列
String sql = "select * from notify order by id DESC";
// 使用 JdbcTemplate 执行查询,并将结果映射为 Notify 对象列表
List<Notify> notifys = template.query(sql, new BeanPropertyRowMapper<Notify>(Notify.class));
return notifys;
return notifys; // 返回查询结果
} catch (DataAccessException e) {
e.printStackTrace();
return null;
e.printStackTrace(); // 打印异常堆栈信息
return null; // 查询失败时返回 null
}
}
/**
* ID
* @param notifyid ID
*/
@Override
public void deleteNotifyById(String notifyid) {
try {
// SQL 语句:根据通知 ID 删除对应的通知记录
String sql = "delete from notify where id=?";
template.update(sql,notifyid);
// 使用 JdbcTemplate 执行删除操作
template.update(sql, notifyid);
} catch (DataAccessException e) {
e.printStackTrace();
e.printStackTrace(); // 打印异常堆栈信息
}
}
/**
*
* @return List null
*/
@Override
public List<Notify> findNotify() {
try {
// SQL 语句:查询最近三条通知记录
String sql = "select * from notify order by id DESC limit 3";
// 使用 JdbcTemplate 执行查询,并将结果映射为 Notify 对象列表
List<Notify> notify = template.query(sql, new BeanPropertyRowMapper<Notify>(Notify.class));
return notify;
return notify; // 返回查询结果
} catch (DataAccessException e) {
e.printStackTrace();
return null;
e.printStackTrace(); // 打印异常堆栈信息
return null; // 查询失败时返回 null
}
}
}

@ -1,44 +1,69 @@
package dao.impl;
import dao.PhotoDao;
import domain.Photo;
import org.springframework.dao.DataAccessException;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import utils.JDBCUtils;
// 引入相关类和接口
import dao.PhotoDao; // 数据访问对象DAO接口
import domain.Photo; // 表示 Photo 表数据结构的实体类
import org.springframework.dao.DataAccessException; // 数据访问异常类
import org.springframework.jdbc.core.BeanPropertyRowMapper; // 用于将结果集映射为实体类
import org.springframework.jdbc.core.JdbcTemplate; // Spring 的 JDBC 模板类
import utils.JDBCUtils; // 自定义工具类,用于获取数据源
/**
* PhotoDaoImpl PhotoDao Photo
*/
public class PhotoDaoImpl implements PhotoDao {
// 使用 JdbcTemplate 进行数据库操作,通过 JDBCUtils 获取数据源
private JdbcTemplate template = new JdbcTemplate(JDBCUtils.getDataSource());
/**
*
* @param photo Photo
*/
@Override
public void addPhoto(Photo photo) {
try {
String sql = "insert into photo(photo_id,photo_name) values(?,?)";
template.update(sql,photo.getPhotoId(),photo.getPhotoName());
// SQL 语句:向 photo 表插入照片记录
String sql = "insert into photo(photo_id, photo_name) values(?, ?)";
// 使用 JdbcTemplate 执行插入操作
template.update(sql, photo.getPhotoId(), photo.getPhotoName());
} catch (DataAccessException e) {
e.printStackTrace();
e.printStackTrace(); // 打印异常堆栈信息
}
}
/**
* ID
* @param id ID
* @return Photo null
*/
@Override
public Photo findPhotoByPhotoId(String id) {
try {
// SQL 语句:根据照片 ID 查找对应的照片记录
String sql = "select * from photo where photo_id = ?";
Photo photo = template.queryForObject(sql,new BeanPropertyRowMapper<Photo>(Photo.class),id);
return photo;
// 使用 JdbcTemplate 执行查询,并将结果映射为 Photo 对象
Photo photo = template.queryForObject(sql, new BeanPropertyRowMapper<Photo>(Photo.class), id);
return photo; // 返回查询结果
} catch (DataAccessException e) {
e.printStackTrace();
return null;
e.printStackTrace(); // 打印异常堆栈信息
return null; // 查询失败时返回 null
}
}
/**
*
* @param photo Photo
*/
@Override
public void updatePhoto(Photo photo) {
try {
String sql = "update photo set photo_name=? where photo_id=?";
template.update(sql,photo.getPhotoName(),photo.getPhotoId());
// SQL 语句:更新 photo 表中的照片名称
String sql = "update photo set photo_name = ? where photo_id = ?";
// 使用 JdbcTemplate 执行更新操作
template.update(sql, photo.getPhotoName(), photo.getPhotoId());
} catch (Exception e) {
e.printStackTrace();
e.printStackTrace(); // 打印异常堆栈信息
}
}
}

@ -1,53 +1,81 @@
package dao.impl;
import dao.SelectCourseDao;
import domain.SelectCourse;
import org.springframework.dao.DataAccessException;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import utils.JDBCUtils;
// 引入相关类和接口
import dao.SelectCourseDao; // 数据访问对象DAO接口
import domain.SelectCourse; // 表示 SelectCourse 表数据结构的实体类
import org.springframework.dao.DataAccessException; // 数据访问异常类
import org.springframework.jdbc.core.BeanPropertyRowMapper; // 用于将结果集映射为实体类
import org.springframework.jdbc.core.JdbcTemplate; // Spring 的 JDBC 模板类
import utils.JDBCUtils; // 自定义工具类,用于获取数据源
import java.util.List;
import java.util.List; // Java 的 List 接口
/**
* SelectCourseDaoImpl SelectCourseDao select_course
*/
public class SelectCourseDaoImpl implements SelectCourseDao {
// 使用 JdbcTemplate 进行数据库操作,通过 JDBCUtils 获取数据源
private JdbcTemplate template = new JdbcTemplate(JDBCUtils.getDataSource());
/**
* ID
* @param cid ID
* @return List null
*/
@Override
public List<SelectCourse> findStudentSelectedCourseByCourseId(String cid) {
try {
String sql = "select course.c_id,course.c_name,course.c_info,student.s_id,student.s_name,select_course.score\n" +
"from select_course,student,course\n" +
"where student.s_id=select_course.s_id\n" +
"and select_course.c_id=course.c_id\n" +
"and select_course.c_id=?";
List<SelectCourse> scs = template.query(sql, new BeanPropertyRowMapper<SelectCourse>(SelectCourse.class),cid);
return scs;
// SQL 语句:查询选修该课程的所有学生及成绩信息
String sql = "select course.c_id, course.c_name, course.c_info, student.s_id, student.s_name, select_course.score\n" +
"from select_course, student, course\n" +
"where student.s_id = select_course.s_id\n" +
"and select_course.c_id = course.c_id\n" +
"and select_course.c_id = ?";
// 使用 JdbcTemplate 执行查询,并将结果映射为 SelectCourse 对象列表
List<SelectCourse> scs = template.query(sql, new BeanPropertyRowMapper<SelectCourse>(SelectCourse.class), cid);
return scs; // 返回查询结果
} catch (DataAccessException e) {
e.printStackTrace();
return null;
e.printStackTrace(); // 打印异常堆栈信息
return null; // 查询失败时返回 null
}
}
/**
* ID ID
* @param cid ID
* @param sid ID
* @return SelectCourse null
*/
@Override
public SelectCourse findScoreByCourseIdAndStudentId(String cid, String sid) {
try {
String sql = "select * from select_course where c_id=? and s_id=?";
// SQL 语句:查询指定课程和学生的选课记录
String sql = "select * from select_course where c_id = ? and s_id = ?";
// 使用 JdbcTemplate 执行查询,并将结果映射为 SelectCourse 对象
SelectCourse sc = template.queryForObject(sql, new BeanPropertyRowMapper<SelectCourse>(SelectCourse.class), cid, sid);
return sc;
} catch (
DataAccessException e) {
e.printStackTrace();
return null;
return sc; // 返回查询结果
} catch (DataAccessException e) {
e.printStackTrace(); // 打印异常堆栈信息
return null; // 查询失败时返回 null
}
}
/**
* ID ID
* @param cid ID
* @param sid ID
* @param sScore
*/
@Override
public void upDateScoreByCidAndSid(String cid, String sid, String sScore) {
try {
// SQL 语句:根据课程 ID 和学生 ID 更新成绩
String sql = "update select_course set score = ? where c_id = ? and s_id = ?";
template.update(sql,sScore,cid,sid);
// 使用 JdbcTemplate 执行更新操作
template.update(sql, sScore, cid, sid);
} catch (DataAccessException e) {
e.printStackTrace();
e.printStackTrace(); // 打印异常堆栈信息
}
}
}

@ -1,233 +1,318 @@
package dao.impl;
import dao.StudentDao;
import domain.Course;
import domain.SelectCourse;
import domain.Student;
import org.springframework.dao.DataAccessException;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import utils.JDBCUtils;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Set;
// 引入相关类和接口
import dao.StudentDao; // StudentDao 接口,定义学生相关的数据访问方法
import domain.Course; // Course 实体类,表示课程数据
import domain.SelectCourse; // SelectCourse 实体类,表示学生选课信息
import domain.Student; // Student 实体类,表示学生数据
import org.springframework.dao.DataAccessException; // 数据访问异常
import org.springframework.jdbc.core.BeanPropertyRowMapper; // 将查询结果映射为 Java 对象
import org.springframework.jdbc.core.JdbcTemplate; // JDBC 操作模板
import utils.JDBCUtils; // 自定义工具类,用于获取数据库数据源
import java.util.ArrayList; // ArrayList 类,用于存储参数和结果
import java.util.List; // List 接口,表示列表
import java.util.Map; // Map 接口,用于存储查询条件
import java.util.Set; // Set 接口,用于存储条件的键集合
/**
* StudentDaoImpl StudentDao
*/
public class StudentDaoImpl implements StudentDao {
// 使用 JdbcTemplate 来简化数据库操作JDBCUtils 提供数据源
private JdbcTemplate template = new JdbcTemplate(JDBCUtils.getDataSource());
/**
*
* @return List null
*/
@Override
public List<Student> findAll() {
//使用JDBC操作数据库
try {
// SQL 语句:查询所有学生
String sql = "select * from student";
// 执行查询并返回结果,使用 BeanPropertyRowMapper 将结果映射为 Student 实体类
List<Student> students = template.query(sql, new BeanPropertyRowMapper<Student>(Student.class));
return students;
} catch (DataAccessException e) {
e.printStackTrace();
return null;
e.printStackTrace(); // 捕获并打印异常堆栈
return null; // 查询失败时返回 null
}
}
/**
* ID
* @param id ID
* @param password
* @return null
*/
@Override
public Student findStudentidAndPassword(String id,String password) {
public Student findStudentidAndPassword(String id, String password) {
try {
// SQL 语句:根据学生 ID 和密码查询学生
String sql = "select * from student where s_id = ? and s_password = ?";
Student student = template.queryForObject(sql,new BeanPropertyRowMapper<Student>(Student.class),id,password);
// 执行查询并返回结果
Student student = template.queryForObject(sql, new BeanPropertyRowMapper<Student>(Student.class), id, password);
return student;
} catch (DataAccessException e) {
e.printStackTrace();
return null;
e.printStackTrace(); // 捕获并打印异常堆栈
return null; // 查询失败时返回 null
}
}
/**
* ID
* @param id ID
* @return null
*/
@Override
public Student findStudentById(String id) {
try {
// SQL 语句:根据学生 ID 查询学生信息
String sql = "select * from student where s_id = ?";
Student student = template.queryForObject(sql,new BeanPropertyRowMapper<Student>(Student.class),id);
// 执行查询并返回结果
Student student = template.queryForObject(sql, new BeanPropertyRowMapper<Student>(Student.class), id);
return student;
} catch (DataAccessException e) {
e.printStackTrace();
return null;
e.printStackTrace(); // 捕获并打印异常堆栈
return null; // 查询失败时返回 null
}
}
/**
*
* @param student
*/
@Override
public void addStudent(Student student) {
try {
String sql = "insert into student(s_id,s_password) values(?,?)";
template.update(sql,student.getS_id(),student.getS_password());
// SQL 语句:插入学生数据
String sql = "insert into student(s_id, s_password) values(?, ?)";
// 执行插入操作
template.update(sql, student.getS_id(), student.getS_password());
} catch (DataAccessException e) {
e.printStackTrace();
e.printStackTrace(); // 捕获并打印异常堆栈
}
}
/**
*
* @param student
*/
@Override
public void updateInfo(Student student) {
try {
String sql = "update student set s_name =?,s_sex=?,s_age=?,s_phone=?,s_email=?,s_address=?,s_college=?,s_department=?,s_class=? where s_id=?";
template.update(sql,student.getS_name(),student.getS_sex(),student.getS_age(),student.getS_phone(),student.getS_email(),student.getS_address(),student.getS_college(),student.getS_department(),student.getS_class(),student.getS_id());
// SQL 语句:更新学生信息
String sql = "update student set s_name = ?, s_sex = ?, s_age = ?, s_phone = ?, s_email = ?, s_address = ?, s_college = ?, s_department = ?, s_class = ? where s_id = ?";
// 执行更新操作
template.update(sql, student.getS_name(), student.getS_sex(), student.getS_age(),
student.getS_phone(), student.getS_email(), student.getS_address(),
student.getS_college(), student.getS_department(), student.getS_class(), student.getS_id());
} catch (Exception e) {
e.printStackTrace();
e.printStackTrace(); // 捕获并打印异常堆栈
}
}
/**
*
* @param studentid ID
* @param newpassword
*/
@Override
public void updatePassword(String studentid, String newpassword) {
try {
String sql = "update student set s_password=? where s_id=?";
template.update(sql,newpassword,studentid);
// SQL 语句:更新学生密码
String sql = "update student set s_password = ? where s_id = ?";
// 执行更新操作
template.update(sql, newpassword, studentid);
} catch (Exception e) {
e.printStackTrace();
e.printStackTrace(); // 捕获并打印异常堆栈
}
}
/**
*
* @param studentid ID
* @return List null
*/
@Override
public List<SelectCourse> findAllSelectCourse(String studentid) {
try {
String sql = "select student.s_id,student.s_name,course.c_id,course.c_name,course.c_info,teacher.t_id,t_name,select_course.score\n" +
"from select_course,student,course,teacher\n" +
"where student.s_id=select_course.s_id\n" +
"and select_course.c_id=course.c_id\n" +
"and course.t_id=teacher.t_id\n" +
"and student.s_id=?";
List<SelectCourse> scs = template.query(sql, new BeanPropertyRowMapper<SelectCourse>(SelectCourse.class),studentid);
// SQL 语句:查询学生的所有选课信息
String sql = "select student.s_id, student.s_name, course.c_id, course.c_name, course.c_info, teacher.t_id, t_name, select_course.score " +
"from select_course, student, course, teacher " +
"where student.s_id = select_course.s_id " +
"and select_course.c_id = course.c_id " +
"and course.t_id = teacher.t_id " +
"and student.s_id = ?";
// 执行查询并返回结果
List<SelectCourse> scs = template.query(sql, new BeanPropertyRowMapper<SelectCourse>(SelectCourse.class), studentid);
return scs;
} catch (DataAccessException e) {
e.printStackTrace();
return null;
e.printStackTrace(); // 捕获并打印异常堆栈
return null; // 查询失败时返回 null
}
}
/**
*
* @return List null
*/
@Override
public List<Course> findAllOptionalCourse() {
try {
String sql = "select course.c_id,course.c_name,course.c_info,teacher.t_id,t_name\n" +
"from course,teacher\n" +
"where course.t_id=teacher.t_id";
// SQL 语句:查询所有可选课程
String sql = "select course.c_id, course.c_name, course.c_info, teacher.t_id, t_name " +
"from course, teacher " +
"where course.t_id = teacher.t_id";
// 执行查询并返回结果
List<Course> cs = template.query(sql, new BeanPropertyRowMapper<Course>(Course.class));
return cs;
} catch (DataAccessException e) {
e.printStackTrace();
return null;
e.printStackTrace(); // 捕获并打印异常堆栈
return null; // 查询失败时返回 null
}
}
/**
*
* @param studentid ID
* @param courseid ID
*/
@Override
public void addSelectCourse(String studentid, String courseid) {
try {
String sql = "insert into select_course(s_id,c_id) values(?,?)";
template.update(sql,studentid,courseid);
// SQL 语句:学生选修课程
String sql = "insert into select_course(s_id, c_id) values(?, ?)";
// 执行插入操作
template.update(sql, studentid, courseid);
} catch (DataAccessException e) {
e.printStackTrace();
e.printStackTrace(); // 捕获并打印异常堆栈
}
}
/**
* ID
* @param studentid ID
*/
@Override
public void deleteStudentById(String studentid) {
try {
String sql = "delete from student where s_id=?";
template.update(sql,studentid);
// SQL 语句:删除学生
String sql = "delete from student where s_id = ?";
// 执行删除操作
template.update(sql, studentid);
} catch (DataAccessException e) {
e.printStackTrace();
e.printStackTrace(); // 捕获并打印异常堆栈
}
}
/**
*
* @param condition
* @return
*/
@Override
public int findTotalCount(Map<String, String[]> condition) {
//定义模板初始化sql
String sql = "select count(*) from student where 1=1";
// 初始化 SQL 语句
String sql = "select count(*) from student where 1 = 1";
StringBuilder sb = new StringBuilder(sql);
//遍历map
List<Object> params = new ArrayList<Object>(); // 存储查询参数
// 遍历查询条件
Set<String> keySet = condition.keySet();
//定义参数集合
List<Object> params = new ArrayList<Object>();
for (String key : keySet) {
System.out.println(key);
//排除分页条件参数
// 排除分页相关的参数
if ("currentPage".equals(key) || "rows".equals(key)) {
continue;
}
//获取value
String value = condition.get(key)[0];
//判断value是否有值
if (value != null && !"".equals(value)) {
//有值
sb.append(" and "+key+" like ? ");
params.add("%"+value+"%");//?条件的值
// 添加条件到 SQL 语句
sb.append(" and " + key + " like ? ");
params.add("%" + value + "%"); // ? 条件的值
}
}
System.out.println(sb.toString());
System.out.println(params);
return template.queryForObject(sb.toString(),Integer.class,params.toArray());
// 执行查询并返回结果
return template.queryForObject(sb.toString(), Integer.class, params.toArray());
}
/**
*
* @param s
*/
@Override
public void addStudentAllInfo(Student s) {
try {
String sql = "insert into student(s_id,s_college,s_department,s_class,s_name,s_sex,s_age,s_phone,s_email,s_address) values(?,?,?,?,?,?,?,?,?,?)";
template.update(sql,s.getS_id(),s.getS_college(),s.getS_department(),s.getS_class(),s.getS_name(),s.getS_sex(),s.getS_age(),s.getS_phone(),s.getS_email(),s.getS_address());
// SQL 语句:插入学生所有信息
String sql = "insert into student(s_id, s_college, s_department, s_class, s_name, s_sex, s_age, s_phone, s_email, s_address) values(?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
// 执行插入操作
template.update(sql, s.getS_id(), s.getS_college(), s.getS_department(), s.getS_class(), s.getS_name(),
s.getS_sex(), s.getS_age(), s.getS_phone(), s.getS_email(), s.getS_address());
} catch (DataAccessException e) {
e.printStackTrace();
e.printStackTrace(); // 捕获并打印异常堆栈
}
}
/**
*
* @return null
*/
@Override
public List<SelectCourse> findSelectCourseAllStudent() {
try {
String sql = "select student.s_id,student.s_name,course.c_id,course.c_name,course.c_info,teacher.t_id,t_name,select_course.score\n" +
"from select_course,student,course,teacher\n" +
"where student.s_id=select_course.s_id\n" +
"and select_course.c_id=course.c_id\n" +
"and course.t_id=teacher.t_id\n";
// SQL 语句:查询所有学生的选课信息
String sql = "select student.s_id, student.s_name, course.c_id, course.c_name, course.c_info, teacher.t_id, t_name, select_course.score " +
"from select_course, student, course, teacher " +
"where student.s_id = select_course.s_id " +
"and select_course.c_id = course.c_id " +
"and course.t_id = teacher.t_id";
// 执行查询并返回结果
List<SelectCourse> scs = template.query(sql, new BeanPropertyRowMapper<SelectCourse>(SelectCourse.class));
return scs;
} catch (DataAccessException e) {
e.printStackTrace();
return null;
e.printStackTrace(); // 捕获并打印异常堆栈
return null; // 查询失败时返回 null
}
}
/**
*
* @param start
* @param rows
* @param condition
* @return
*/
@Override
public List<Student> findByPage(int start, int rows, Map<String, String[]> condition) {
try {
String sql = "select * from student where 1=1";
// 初始化 SQL 语句
String sql = "select * from student where 1 = 1";
StringBuilder sb = new StringBuilder(sql);
//遍历map
List<Object> params = new ArrayList<Object>(); // 存储查询参数
// 遍历查询条件
Set<String> keySet = condition.keySet();
//定义参数集合
List<Object> params = new ArrayList<Object>();
for (String key : keySet) {
//排除分页条件参数
// 排除分页相关的参数
if ("currentPage".equals(key) || "rows".equals(key)) {
continue;
}
//获取value
String value = condition.get(key)[0];
//判断value是否有值
if (value != null && !"".equals(value)) {
//有值
sb.append(" and "+key+" like ? ");
params.add("%"+value+"%");//?条件的值
// 添加条件到 SQL 语句
sb.append(" and " + key + " like ? ");
params.add("%" + value + "%"); // ? 条件的值
}
}
//添加分页查询
sb.append(" limit ? , ?");
//添加分页查询参数值
// 添加分页条件
sb.append(" limit ?, ?");
params.add(start);
params.add(rows);
System.out.println(sb.toString());
System.out.println(params);
return template.query(sb.toString(),new BeanPropertyRowMapper<Student>(Student.class),params.toArray());
// 执行查询并返回结果
return template.query(sb.toString(), new BeanPropertyRowMapper<Student>(Student.class), params.toArray());
} catch (DataAccessException e) {
e.printStackTrace();
return null;
e.printStackTrace(); // 捕获并打印异常堆栈
return null; // 查询失败时返回 null
}
}
}

@ -1,137 +1,213 @@
package dao.impl;
import dao.TeacherDao;
import domain.Course;
import domain.Student;
import domain.Teacher;
import org.springframework.dao.DataAccessException;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import utils.JDBCUtils;
// 引入相关类和接口
import dao.TeacherDao; // TeacherDao 接口,定义教师相关的数据访问方法
import domain.Course; // Course 实体类,表示课程数据
import domain.Teacher; // Teacher 实体类,表示教师数据
import org.springframework.dao.DataAccessException; // 数据访问异常
import org.springframework.jdbc.core.BeanPropertyRowMapper; // 将查询结果映射为 Java 对象
import org.springframework.jdbc.core.JdbcTemplate; // JDBC 操作模板
import utils.JDBCUtils; // 自定义工具类,用于获取数据库数据源
import java.util.List;
import java.util.List; // List 接口,表示列表
/**
* TeacherDaoImpl TeacherDao
*/
public class TeacherDaoImpl implements TeacherDao {
// 使用 JdbcTemplate 来简化数据库操作JDBCUtils 提供数据源
private JdbcTemplate template = new JdbcTemplate(JDBCUtils.getDataSource());
/**
* ID
* @param id ID
* @param password
* @return null
*/
@Override
public Teacher findTeacheridAndPassword(String id, String password) {
try {
// SQL 语句:根据教师 ID 和密码查询教师
String sql = "select * from teacher where t_id = ? and t_password = ?";
Teacher teacher = template.queryForObject(sql,new BeanPropertyRowMapper<Teacher>(Teacher.class),id,password);
// 执行查询并返回结果
Teacher teacher = template.queryForObject(sql, new BeanPropertyRowMapper<Teacher>(Teacher.class), id, password);
return teacher;
} catch (DataAccessException e) {
e.printStackTrace();
return null;
e.printStackTrace(); // 捕获并打印异常堆栈
return null; // 查询失败时返回 null
}
}
/**
*
* @return List null
*/
@Override
public List<Teacher> findAll() {
try {
// SQL 语句:查询所有教师
String sql = "select * from teacher";
// 执行查询并返回结果
List<Teacher> teachers = template.query(sql, new BeanPropertyRowMapper<Teacher>(Teacher.class));
return teachers;
} catch (DataAccessException e) {
e.printStackTrace();
return null;
e.printStackTrace(); // 捕获并打印异常堆栈
return null; // 查询失败时返回 null
}
}
/**
*
* @param t_id ID
* @return null
*/
@Override
public List<Course> findMySelfOptionalCourse(String t_id) {
try {
// SQL 语句:查询教师教授的课程
String sql = "select * from course where t_id = ?";
List<Course> courses = template.query(sql, new BeanPropertyRowMapper<Course>(Course.class),t_id);
// 执行查询并返回结果
List<Course> courses = template.query(sql, new BeanPropertyRowMapper<Course>(Course.class), t_id);
return courses;
} catch (DataAccessException e) {
e.printStackTrace();
return null;
e.printStackTrace(); // 捕获并打印异常堆栈
return null; // 查询失败时返回 null
}
}
/**
* ID
* @param cid ID
* @return null
*/
@Override
public Course findOptionalCourseByCourseId(String cid) {
try {
// SQL 语句:根据课程 ID 查询课程信息
String sql = "select * from course where c_id = ?";
Course c = template.queryForObject(sql,new BeanPropertyRowMapper<Course>(Course.class),cid);
return c;
// 执行查询并返回结果
Course course = template.queryForObject(sql, new BeanPropertyRowMapper<Course>(Course.class), cid);
return course;
} catch (DataAccessException e) {
e.printStackTrace();
return null;
e.printStackTrace(); // 捕获并打印异常堆栈
return null; // 查询失败时返回 null
}
}
/**
*
* @param updateCourse
*/
@Override
public void updateCourseInfo(Course updateCourse) {
try {
String sql = "update course set c_name =?,c_info=? where c_id=?";
template.update(sql,updateCourse.getC_name(),updateCourse.getC_info(),updateCourse.getC_id());
// SQL 语句:更新课程信息
String sql = "update course set c_name = ?, c_info = ? where c_id = ?";
// 执行更新操作
template.update(sql, updateCourse.getC_name(), updateCourse.getC_info(), updateCourse.getC_id());
} catch (Exception e) {
e.printStackTrace();
e.printStackTrace(); // 捕获并打印异常堆栈
}
}
/**
* ID
* @param cid ID
*/
@Override
public void deleteCourseById(String cid) {
try {
String sql = "delete from course where c_id=?";
template.update(sql,cid);
// SQL 语句:删除课程
String sql = "delete from course where c_id = ?";
// 执行删除操作
template.update(sql, cid);
} catch (DataAccessException e) {
e.printStackTrace();
e.printStackTrace(); // 捕获并打印异常堆栈
}
}
/**
*
* @param teacherid ID
* @param newpassword
*/
@Override
public void updatePassword(String teacherid, String newpassword) {
try {
String sql = "update teacher set t_password=? where t_id=?";
template.update(sql,newpassword,teacherid);
// SQL 语句:更新教师密码
String sql = "update teacher set t_password = ? where t_id = ?";
// 执行更新操作
template.update(sql, newpassword, teacherid);
} catch (Exception e) {
e.printStackTrace();
e.printStackTrace(); // 捕获并打印异常堆栈
}
}
/**
* ID
* @param t_id ID
* @return null
*/
@Override
public Teacher findTeacherById(String t_id) {
try {
// SQL 语句:根据教师 ID 查询教师信息
String sql = "select * from teacher where t_id = ?";
Teacher teacher = template.queryForObject(sql,new BeanPropertyRowMapper<Teacher>(Teacher.class),t_id);
// 执行查询并返回结果
Teacher teacher = template.queryForObject(sql, new BeanPropertyRowMapper<Teacher>(Teacher.class), t_id);
return teacher;
} catch (DataAccessException e) {
e.printStackTrace();
return null;
e.printStackTrace(); // 捕获并打印异常堆栈
return null; // 查询失败时返回 null
}
}
/**
*
* @param teacher
*/
@Override
public void addTeacherAllInfo(Teacher t) {
public void addTeacherAllInfo(Teacher teacher) {
try {
String sql = "insert into teacher(t_id,t_name,t_sex,t_education,t_title) values(?,?,?,?,?)";
template.update(sql,t.getT_id(),t.getT_name(),t.getT_sex(),t.getT_education(),t.getT_title());
// SQL 语句:插入教师信息
String sql = "insert into teacher(t_id, t_name, t_sex, t_education, t_title) values(?, ?, ?, ?, ?)";
// 执行插入操作
template.update(sql, teacher.getT_id(), teacher.getT_name(), teacher.getT_sex(), teacher.getT_education(), teacher.getT_title());
} catch (DataAccessException e) {
e.printStackTrace();
e.printStackTrace(); // 捕获并打印异常堆栈
}
}
/**
* ID
* @param teacherid ID
*/
@Override
public void deleteTeacherById(String teacherid) {
try {
String sql = "delete from teacher where t_id=?";
template.update(sql,teacherid);
// SQL 语句:删除教师
String sql = "delete from teacher where t_id = ?";
// 执行删除操作
template.update(sql, teacherid);
} catch (DataAccessException e) {
e.printStackTrace();
e.printStackTrace(); // 捕获并打印异常堆栈
}
}
/**
*
* @param teacher
*/
@Override
public void updateInfo(Teacher t) {
public void updateInfo(Teacher teacher) {
try {
String sql = "update teacher set t_name =?,t_sex=?,t_education=?,t_title=? where t_id=?";
template.update(sql,t.getT_name(),t.getT_sex(),t.getT_education(),t.getT_title(),t.getT_id());
// SQL 语句:更新教师信息
String sql = "update teacher set t_name = ?, t_sex = ?, t_education = ?, t_title = ? where t_id = ?";
// 执行更新操作
template.update(sql, teacher.getT_name(), teacher.getT_sex(), teacher.getT_education(), teacher.getT_title(), teacher.getT_id());
} catch (Exception e) {
e.printStackTrace();
e.printStackTrace(); // 捕获并打印异常堆栈
}
}
}

@ -1,25 +1,54 @@
package domain;
package domain; // 定义在 domain 包下,表示该类是领域对象类,用于存储管理员信息。
/**
*
*
*/
public class Admin {
private String a_id;
private String a_password;
private String a_id; // 管理员工号
private String a_password; // 管理员密码
/**
*
*
* @return
*/
public String getA_id() {
return a_id;
}
/**
*
*
* @param a_id
*/
public void setA_id(String a_id) {
this.a_id = a_id;
}
/**
*
*
* @return
*/
public String getA_password() {
return a_password;
}
/**
*
*
* @param a_password
*/
public void setA_password(String a_password) {
this.a_password = a_password;
}
/**
* toString
*
* @return
*/
@Override
public String toString() {
return "Admin{" +
@ -28,3 +57,4 @@ public class Admin {
'}';
}
}

@ -1,35 +1,74 @@
package domain;
package domain; // 定义在 domain 包下,表示该类是领域对象类,用于存储学院、系、班级等信息。
/**
* CDC
*
*/
public class CDC {
private String college;
private String department;
private String cclass;
private String college; // 学院名称
private String department; // 系名称
private String cclass; // 班级名称
/**
*
*
* @return
*/
public String getCollege() {
return college;
}
/**
*
*
* @param college
*/
public void setCollege(String college) {
this.college = college;
}
/**
*
*
* @return
*/
public String getDepartment() {
return department;
}
/**
*
*
* @param department
*/
public void setDepartment(String department) {
this.department = department;
}
/**
*
*
* @return
*/
public String getCclass() {
return cclass;
}
/**
*
*
* @param cclass
*/
public void setCclass(String cclass) {
this.cclass = cclass;
}
/**
* toString
*
* @return
*/
@Override
public String toString() {
return "CDC{" +

@ -1,34 +1,74 @@
package domain;
package domain; // 定义在 domain 包下,表示该类是领域对象类,用于存储投诉信息。
/**
* Complaint
* ID
*/
public class Complaint {
private String id;
private String cdate;
private String content;
private String id; // 投诉ID
private String cdate; // 投诉日期
private String content; // 投诉内容
/**
* ID
*
* @return ID
*/
public String getId() {
return id;
}
/**
* ID
*
* @param id ID
*/
public void setId(String id) {
this.id = id;
}
/**
*
*
* @return
*/
public String getCdate() {
return cdate;
}
/**
*
*
* @param cdate
*/
public void setCdate(String cdate) {
this.cdate = cdate;
}
/**
*
*
* @return
*/
public String getContent() {
return content;
}
/**
*
*
* @param content
*/
public void setContent(String content) {
this.content = content;
}
/**
* toString ID
*
* @return ID
*/
@Override
public String toString() {
return "Complaint{" +

@ -1,60 +1,80 @@
package domain;
package domain; // 定义在 domain 包下,表示该类是领域对象类,用于存储投诉信息。
public class Course {
private String c_id;
private String c_name;
private String c_info;
private String t_id;
private String t_name;
/**
* Complaint
* ID
*/
public class Complaint {
public String getC_id() {
return c_id;
}
public void setC_id(String c_id) {
this.c_id = c_id;
}
public String getC_name() {
return c_name;
}
public void setC_name(String c_name) {
this.c_name = c_name;
}
private String id; // 投诉ID
private String cdate; // 投诉日期
private String content; // 投诉内容
public String getC_info() {
return c_info;
/**
* ID
*
* @return ID
*/
public String getId() {
return id;
}
public void setC_info(String c_info) {
this.c_info = c_info;
/**
* ID
*
* @param id ID
*/
public void setId(String id) {
this.id = id;
}
public String getT_id() {
return t_id;
/**
*
*
* @return
*/
public String getCdate() {
return cdate;
}
public void setT_id(String t_id) {
this.t_id = t_id;
/**
*
*
* @param cdate
*/
public void setCdate(String cdate) {
this.cdate = cdate;
}
public String getT_name() {
return t_name;
/**
*
*
* @return
*/
public String getContent() {
return content;
}
public void setT_name(String t_name) {
this.t_name = t_name;
/**
*
*
* @param content
*/
public void setContent(String content) {
this.content = content;
}
@Override
/**
* toString ID
*
* @return ID
*/
@Override
public String toString() {
return "Course{" +
"c_id='" + c_id + '\'' +
", c_name='" + c_name + '\'' +
", c_info='" + c_info + '\'' +
", t_id='" + t_id + '\'' +
", t_name='" + t_name + '\'' +
return "Complaint{" +
"id='" + id + '\'' +
", cdate='" + cdate + '\'' +
", content='" + content + '\'' +
'}';
}
}

@ -1,34 +1,74 @@
package domain;
package domain; // 定义在 domain 包下,表示该类是领域对象类,用于存储文件信息。
/**
* FileClass
*
*/
public class FileClass {
private String fileName;
private String filePath;
private String fileSize;
private String fileName; // 文件名
private String filePath; // 文件路径
private String fileSize; // 文件大小
/**
*
*
* @return
*/
public String getFileName() {
return fileName;
}
/**
*
*
* @param fileName
*/
public void setFileName(String fileName) {
this.fileName = fileName;
}
/**
*
*
* @return
*/
public String getFilePath() {
return filePath;
}
/**
*
*
* @param filePath
*/
public void setFilePath(String filePath) {
this.filePath = filePath;
}
/**
*
*
* @return
*/
public String getFileSize() {
return fileSize;
}
/**
*
*
* @param fileSize
*/
public void setFileSize(String fileSize) {
this.fileSize = fileSize;
}
/**
* toString
*
* @return
*/
@Override
public String toString() {
return "FileClass{" +

@ -1,35 +1,74 @@
package domain;
package domain; // 定义在 domain 包下,表示该类是领域对象类,用于存储通知信息。
/**
* Notify
* ID
*/
public class Notify {
private String id;
private String notifyInfo;
private String notifyDate;
private String id; // 通知ID
private String notifyInfo; // 通知内容
private String notifyDate; // 通知日期
/**
* ID
*
* @return ID
*/
public String getId() {
return id;
}
/**
* ID
*
* @param id ID
*/
public void setId(String id) {
this.id = id;
}
/**
*
*
* @return
*/
public String getNotifyInfo() {
return notifyInfo;
}
/**
*
*
* @param notifyInfo
*/
public void setNotifyInfo(String notifyInfo) {
this.notifyInfo = notifyInfo;
}
/**
*
*
* @return
*/
public String getNotifyDate() {
return notifyDate;
}
/**
*
*
* @param notifyDate
*/
public void setNotifyDate(String notifyDate) {
this.notifyDate = notifyDate;
}
/**
* toString ID
*
* @return ID
*/
@Override
public String toString() {
return "Notify{" +

@ -1,57 +1,115 @@
package domain;
package domain; // 定义在 domain 包下,表示该类是领域对象类,用于存储分页信息。
import java.util.List;
/**
*
* PageBean
*
* T
*/
public class PageBean<T> {
private int totalCount; //总记录数
private int totalPage; //总页码
private List<T> list; //每页数据
private int currentPage; //当前页码
private int rows; //每页显示的记录数
private int totalCount; // 总记录数
private int totalPage; // 总页码数
private List<T> list; // 当前页的数据
private int currentPage; // 当前页码
private int rows; // 每页显示的记录数
/**
*
*
* @return
*/
public int getTotalCount() {
return totalCount;
}
/**
*
*
* @param totalCount
*/
public void setTotalCount(int totalCount) {
this.totalCount = totalCount;
}
/**
*
*
* @return
*/
public int getTotalPage() {
return totalPage;
}
/**
*
*
* @param totalPage
*/
public void setTotalPage(int totalPage) {
this.totalPage = totalPage;
}
/**
*
*
* @return
*/
public List<T> getList() {
return list;
}
/**
*
*
* @param list
*/
public void setList(List<T> list) {
this.list = list;
}
/**
*
*
* @return
*/
public int getCurrentPage() {
return currentPage;
}
/**
*
*
* @param currentPage
*/
public void setCurrentPage(int currentPage) {
this.currentPage = currentPage;
}
/**
*
*
* @return
*/
public int getRows() {
return rows;
}
/**
*
*
* @param rows
*/
public void setRows(int rows) {
this.rows = rows;
}
/**
* toString
*
* @return
*/
@Override
public String toString() {
return "PageBean{" +

@ -1,22 +1,46 @@
package domain;
package domain; // 定义在 domain 包下,表示该类是领域对象类,用于存储照片信息。
/**
* Photo
* ID
*/
public class Photo {
private String photoId;
private String photoName;
private String photoId; // 照片ID
private String photoName; // 照片名称
/**
* ID
*
* @return ID
*/
public String getPhotoId() {
return photoId;
}
/**
* ID
*
* @param photoId ID
*/
public void setPhotoId(String photoId) {
this.photoId = photoId;
}
/**
*
*
* @return
*/
public String getPhotoName() {
return photoName;
}
/**
*
*
* @param photoName
*/
public void setPhotoName(String photoName) {
this.photoName = photoName;
}

@ -1,79 +1,169 @@
package domain;
package domain; // 定义在 domain 包下,表示该类是领域对象类,用于存储学生选课信息。
/**
* SelectCourse
* IDID
*/
public class SelectCourse {
private String s_id;
private String s_name;
private String c_id;
private String c_name;
private String c_info;
private String t_id;
private String t_name;
private String score;
private String s_id; // 学生ID
private String s_name; // 学生姓名
private String c_id; // 课程ID
private String c_name; // 课程名称
private String c_info; // 课程信息
private String t_id; // 教师ID
private String t_name; // 教师姓名
private String score; // 学生的课程成绩
/**
* ID
*
* @return ID
*/
public String getS_id() {
return s_id;
}
/**
* ID
*
* @param s_id ID
*/
public void setS_id(String s_id) {
this.s_id = s_id;
}
/**
*
*
* @return
*/
public String getS_name() {
return s_name;
}
/**
*
*
* @param s_name
*/
public void setS_name(String s_name) {
this.s_name = s_name;
}
/**
* ID
*
* @return ID
*/
public String getC_id() {
return c_id;
}
/**
* ID
*
* @param c_id ID
*/
public void setC_id(String c_id) {
this.c_id = c_id;
}
/**
*
*
* @return
*/
public String getC_name() {
return c_name;
}
/**
*
*
* @param c_name
*/
public void setC_name(String c_name) {
this.c_name = c_name;
}
/**
*
*
* @return
*/
public String getC_info() {
return c_info;
}
/**
*
*
* @param c_info
*/
public void setC_info(String c_info) {
this.c_info = c_info;
}
/**
* ID
*
* @return ID
*/
public String getT_id() {
return t_id;
}
/**
* ID
*
* @param t_id ID
*/
public void setT_id(String t_id) {
this.t_id = t_id;
}
/**
*
*
* @return
*/
public String getT_name() {
return t_name;
}
/**
*
*
* @param t_name
*/
public void setT_name(String t_name) {
this.t_name = t_name;
}
/**
*
*
* @return
*/
public String getScore() {
return score;
}
/**
*
*
* @param score
*/
public void setScore(String score) {
this.score = score;
}
/**
* toString
*
* @return IDIDID
*/
@Override
public String toString() {
return "SelectCourse{" +

@ -1,106 +1,226 @@
package domain;
package domain; // 定义在 domain 包下,表示该类是领域对象类,用于存储学生的个人信息。
/**
* Student
* ID
*/
public class Student {
private String s_id;
private String s_college;
private String s_department;
private String s_class;
private String s_name;
private String s_sex;
private String s_age;
private String s_address;
private String s_phone;
private String s_email;
private String s_password;
private String s_id; // 学生ID
private String s_college; // 学院名称
private String s_department; // 学院下的系别
private String s_class; // 所属班级
private String s_name; // 学生姓名
private String s_sex; // 学生性别
private String s_age; // 学生年龄
private String s_address; // 学生住址
private String s_phone; // 学生联系电话
private String s_email; // 学生电子邮件
private String s_password; // 学生登录密码
/**
* ID
*
* @return ID
*/
public String getS_id() {
return s_id;
}
/**
* ID
*
* @param s_id ID
*/
public void setS_id(String s_id) {
this.s_id = s_id;
}
/**
*
*
* @return
*/
public String getS_college() {
return s_college;
}
/**
*
*
* @param s_college
*/
public void setS_college(String s_college) {
this.s_college = s_college;
}
/**
*
*
* @return
*/
public String getS_department() {
return s_department;
}
/**
*
*
* @param s_department
*/
public void setS_department(String s_department) {
this.s_department = s_department;
}
/**
*
*
* @return
*/
public String getS_class() {
return s_class;
}
/**
*
*
* @param s_class
*/
public void setS_class(String s_class) {
this.s_class = s_class;
}
/**
*
*
* @return
*/
public String getS_name() {
return s_name;
}
/**
*
*
* @param s_name
*/
public void setS_name(String s_name) {
this.s_name = s_name;
}
/**
*
*
* @return
*/
public String getS_sex() {
return s_sex;
}
/**
*
*
* @param s_sex
*/
public void setS_sex(String s_sex) {
this.s_sex = s_sex;
}
/**
*
*
* @return
*/
public String getS_age() {
return s_age;
}
/**
*
*
* @param s_age
*/
public void setS_age(String s_age) {
this.s_age = s_age;
}
/**
*
*
* @return
*/
public String getS_address() {
return s_address;
}
/**
*
*
* @param s_address
*/
public void setS_address(String s_address) {
this.s_address = s_address;
}
/**
*
*
* @return
*/
public String getS_phone() {
return s_phone;
}
/**
*
*
* @param s_phone
*/
public void setS_phone(String s_phone) {
this.s_phone = s_phone;
}
/**
*
*
* @return
*/
public String getS_email() {
return s_email;
}
/**
*
*
* @param s_email
*/
public void setS_email(String s_email) {
this.s_email = s_email;
}
/**
*
*
* @return
*/
public String getS_password() {
return s_password;
}
/**
*
*
* @param s_password
*/
public void setS_password(String s_password) {
this.s_password = s_password;
}
/**
* toString
*
* @return ID
*/
@Override
public String toString() {
return "Student{" +

@ -1,61 +1,131 @@
package domain;
package domain; // 定义在 domain 包下,表示该类是领域对象类,用于存储教师的个人信息。
/**
* Teacher
* ID
*/
public class Teacher {
private String t_id;
private String t_name;
private String t_sex;
private String t_education;
private String t_title;
private String t_password;
private String t_id; // 教师ID
private String t_name; // 教师姓名
private String t_sex; // 教师性别
private String t_education; // 教师教育背景
private String t_title; // 教师职称
private String t_password; // 教师登录密码
/**
* ID
*
* @return ID
*/
public String getT_id() {
return t_id;
}
/**
* ID
*
* @param t_id ID
*/
public void setT_id(String t_id) {
this.t_id = t_id;
}
/**
*
*
* @return
*/
public String getT_name() {
return t_name;
}
/**
*
*
* @param t_name
*/
public void setT_name(String t_name) {
this.t_name = t_name;
}
/**
*
*
* @return
*/
public String getT_sex() {
return t_sex;
}
/**
*
*
* @param t_sex
*/
public void setT_sex(String t_sex) {
this.t_sex = t_sex;
}
/**
*
*
* @return
*/
public String getT_education() {
return t_education;
}
/**
*
*
* @param t_education
*/
public void setT_education(String t_education) {
this.t_education = t_education;
}
/**
*
*
* @return
*/
public String getT_title() {
return t_title;
}
/**
*
*
* @param t_title
*/
public void setT_title(String t_title) {
this.t_title = t_title;
}
/**
*
*
* @return
*/
public String getT_password() {
return t_password;
}
/**
*
*
* @param t_password
*/
public void setT_password(String t_password) {
this.t_password = t_password;
}
/**
* toString
*
* @return ID
*/
@Override
public String toString() {
return "Teacher{" +

@ -1,25 +1,48 @@
package service.impl;
import dao.AdminDao;
import dao.impl.AdminDaoImpl;
import domain.Admin;
import service.AdminService;
import dao.AdminDao; // 导入 AdminDao 接口,用于操作管理员相关的数据。
import dao.impl.AdminDaoImpl; // 导入 AdminDaoImpl 类,实际的管理员数据访问实现。
import domain.Admin; // 导入 Admin 类,表示管理员实体。
import service.AdminService; // 导入 AdminService 接口,定义管理员服务层的业务逻辑。
/**
* AdminServiceImpl
* AdminDao
*/
public class AdminServiceImpl implements AdminService {
private AdminDao dao = new AdminDaoImpl();
private AdminDao dao = new AdminDaoImpl(); // 实例化 AdminDaoImpl 对象,操作管理员数据。
/**
*
*
* @param admin ID
* @return null
*/
@Override
public Admin login(Admin admin) {
return dao.findAdminidAndPassword(admin.getA_id(),admin.getA_password());
return dao.findAdminidAndPassword(admin.getA_id(), admin.getA_password());
}
/**
*
*
* @param adminid ID
* @param newpassword
*/
@Override
public void updatePassword(String adminid, String newpassword) {
dao.updatePassword(adminid,newpassword);
dao.updatePassword(adminid, newpassword); // 调用 Dao 层方法更新密码。
}
/**
* ID
*
* @param admin ID
* @return null
*/
@Override
public Admin findAdminById(Admin admin) {
return dao.findAdminById(admin.getA_id());
return dao.findAdminById(admin.getA_id()); // 调用 Dao 层方法根据管理员ID查询信息。
}
}

@ -1,32 +1,57 @@
package service.impl;
import dao.CDCDao;
import dao.impl.CDCDaoImpl;
import domain.CDC;
import service.CDCService;
import dao.CDCDao; // 导入 CDCDao 接口,操作与 CDC学院、部门、班级相关的数据。
import dao.impl.CDCDaoImpl; // 导入 CDCDaoImpl 类,实际的 CDC 数据访问实现。
import domain.CDC; // 导入 CDC 类,表示学院、部门、班级等信息的实体。
import service.CDCService; // 导入 CDCService 接口,定义 CDC 服务层的业务逻辑。
import java.util.List;
import java.util.List; // 导入 List 类,作为返回的数据类型,用于返回多个结果。
/**
* CDCServiceImpl
* CDCDao
*/
public class CDCServiceImpl implements CDCService {
private CDCDao dao = new CDCDaoImpl();
private CDCDao dao = new CDCDaoImpl(); // 实例化 CDCDaoImpl 对象,用于操作 CDC 数据。
/**
*
*
* @return List
*/
@Override
public List<CDC> findAllCollege() {
return dao.findAllCollege();
return dao.findAllCollege(); // 调用 DAO 层方法获取所有学院数据。
}
/**
*
*
* @return List
*/
@Override
public List<CDC> findAllDepartment() {
return dao.findAllDepartment();
return dao.findAllDepartment(); // 调用 DAO 层方法获取所有部门数据。
}
/**
*
*
* @return List
*/
@Override
public List<CDC> findAllClass() {
return dao.findAllClass();
return dao.findAllClass(); // 调用 DAO 层方法获取所有班级数据。
}
/**
*
*
* @return List
*/
@Override
public List<CDC> findAll() {
return dao.findAll();
return dao.findAll(); // 调用 DAO 层方法获取所有学院、部门和班级数据。
}
}

@ -1,22 +1,37 @@
package service.impl;
import dao.ComplaintDao;
import dao.impl.ComplaintDaoImpl;
import domain.Complaint;
import service.ComplaintService;
import dao.ComplaintDao; // 导入 ComplaintDao 接口,操作与投诉相关的数据。
import dao.impl.ComplaintDaoImpl; // 导入 ComplaintDaoImpl 类,实际的 Complaint 数据访问实现。
import domain.Complaint; // 导入 Complaint 类,表示投诉信息的实体类。
import service.ComplaintService; // 导入 ComplaintService 接口,定义投诉服务层的业务逻辑。
import java.util.List;
import java.util.List; // 导入 List 类,作为返回的数据类型,用于返回多个结果。
/**
* ComplaintServiceImpl
* ComplaintDao
*/
public class ComplaintServiceImpl implements ComplaintService {
private ComplaintDao dao = new ComplaintDaoImpl();
private ComplaintDao dao = new ComplaintDaoImpl(); // 实例化 ComplaintDaoImpl 对象,用于操作投诉数据。
/**
*
*
* @return List
*/
@Override
public List<Complaint> findAll() {
return dao.findAllComplaint();
return dao.findAllComplaint(); // 调用 DAO 层方法获取所有投诉数据。
}
/**
*
*
* @param complaint
*/
@Override
public void addComplaint(Complaint complaint) {
dao.addComplaint(complaint);
dao.addComplaint(complaint); // 调用 DAO 层方法将投诉数据添加到数据库。
}
}

@ -1,24 +1,46 @@
package service.impl;
import dao.CourseDao;
import dao.impl.CourseDaoImpl;
import domain.Course;
import service.CourseService;
import dao.CourseDao; // 导入 CourseDao 接口,操作与课程相关的数据。
import dao.impl.CourseDaoImpl; // 导入 CourseDaoImpl 类,实际的 Course 数据访问实现。
import domain.Course; // 导入 Course 类,表示课程信息的实体类。
import service.CourseService; // 导入 CourseService 接口,定义课程服务层的业务逻辑。
/**
* CourseServiceImpl CourseService
* CourseDao
*/
public class CourseServiceImpl implements CourseService {
private CourseDao dao = new CourseDaoImpl();
private CourseDao dao = new CourseDaoImpl(); // 实例化 CourseDaoImpl 对象,用于操作课程数据。
/**
*
*
* @param course
*/
@Override
public void addOptionalCourse(Course course) {
dao.addOptionalCourse(course);
dao.addOptionalCourse(course); // 调用 DAO 层方法将课程信息添加到数据库。
}
/**
* ID
*
* @param cid ID
* @return Course
*/
@Override
public Course findSelectCourseByCourseId(String cid) {
return dao.findSelectCourseByCourseId(cid);
return dao.findSelectCourseByCourseId(cid); // 调用 DAO 层方法根据课程 ID 查询已选课程。
}
/**
*
*
* @param cid ID
*/
@Override
public void deleteServiceById(String cid) {
dao.deleteServiceById(cid);
dao.deleteServiceById(cid); // 调用 DAO 层方法删除课程信息。
}
}

@ -1,32 +1,57 @@
package service.impl;
import dao.NotifyDao;
import dao.impl.NotifyDaoImpl;
import domain.Notify;
import service.NotifyService;
import dao.NotifyDao; // 导入 NotifyDao 接口,操作通知相关的数据。
import dao.impl.NotifyDaoImpl; // 导入 NotifyDaoImpl 类,实际的 Notify 数据访问实现。
import domain.Notify; // 导入 Notify 类,表示通知信息的实体类。
import service.NotifyService; // 导入 NotifyService 接口,定义通知服务层的业务逻辑。
import java.util.List;
/**
* NotifyServiceImpl NotifyService
* NotifyDao
*/
public class NotifyServiceImpl implements NotifyService {
private NotifyDao dao = new NotifyDaoImpl();
private NotifyDao dao = new NotifyDaoImpl(); // 实例化 NotifyDaoImpl 对象,用于操作通知数据。
/**
*
*
* @param notify
*/
@Override
public void addNotify(Notify notify) {
dao.add(notify);
dao.add(notify); // 调用 DAO 层方法将通知信息添加到数据库。
}
/**
*
*
* @return
*/
@Override
public List<Notify> find() {
return dao.findNotify();
return dao.findNotify(); // 调用 DAO 层方法查询通知信息。
}
/**
*
*
* @return
*/
@Override
public List<Notify> findAll() {
return dao.findAllNotify();
return dao.findAllNotify(); // 调用 DAO 层方法查询所有通知信息。
}
/**
* ID
*
* @param notifyid ID
*/
@Override
public void deleteNotifyById(String notifyid) {
dao.deleteNotifyById(notifyid);
dao.deleteNotifyById(notifyid); // 调用 DAO 层方法删除指定通知 ID 的通知。
}
}

@ -1,25 +1,46 @@
package service.impl;
import dao.PhotoDao;
import dao.impl.PhotoDaoImpl;
import domain.Photo;
import service.PhotoService;
import dao.PhotoDao; // 导入 PhotoDao 接口,操作与照片相关的数据。
import dao.impl.PhotoDaoImpl; // 导入 PhotoDaoImpl 类,实际的 Photo 数据访问实现。
import domain.Photo; // 导入 Photo 类,表示照片信息的实体类。
import service.PhotoService; // 导入 PhotoService 接口,定义照片服务层的业务逻辑。
/**
* PhotoServiceImpl PhotoService
* PhotoDao
*/
public class PhotoServiceImpl implements PhotoService {
private PhotoDao dao = new PhotoDaoImpl();
private PhotoDao dao = new PhotoDaoImpl(); // 实例化 PhotoDaoImpl 对象,用于操作照片数据。
/**
*
*
* @param photo
*/
@Override
public void addPhoto(Photo photo) {
dao.addPhoto(photo);
dao.addPhoto(photo); // 调用 DAO 层方法将照片信息添加到数据库。
}
/**
* ID
*
* @param id ID
* @return ID
*/
@Override
public Photo findPhotoByPhotoId(String id) {
return dao.findPhotoByPhotoId(id);
return dao.findPhotoByPhotoId(id); // 调用 DAO 层方法查询指定 ID 的照片。
}
/**
*
*
* @param photo
*/
@Override
public void updatePhoto(Photo photo) {
dao.updatePhoto(photo);
dao.updatePhoto(photo); // 调用 DAO 层方法更新照片信息。
}
}

@ -1,27 +1,52 @@
package service.impl;
import dao.SelectCourseDao;
import dao.impl.SelectCourseDaoImpl;
import domain.SelectCourse;
import service.SelectCourseService;
import dao.SelectCourseDao; // 导入 SelectCourseDao 接口,操作选课数据。
import dao.impl.SelectCourseDaoImpl; // 导入 SelectCourseDaoImpl 类,实际的选课数据访问实现。
import domain.SelectCourse; // 导入 SelectCourse 类,表示选课信息的实体类。
import service.SelectCourseService; // 导入 SelectCourseService 接口,定义选课服务层的业务逻辑。
import java.util.List;
/**
* SelectCourseServiceImpl SelectCourseService
* SelectCourseDao
*/
public class SelectCourseServiceImpl implements SelectCourseService {
private SelectCourseDao dao = new SelectCourseDaoImpl();
private SelectCourseDao dao = new SelectCourseDaoImpl(); // 实例化 SelectCourseDaoImpl 对象,用于操作选课数据。
/**
* ID
*
* @param cid ID
* @return
*/
@Override
public List<SelectCourse> findStudentSelectedCourseByCourseId(String cid) {
return dao.findStudentSelectedCourseByCourseId(cid);
return dao.findStudentSelectedCourseByCourseId(cid); // 调用 DAO 层方法根据课程 ID 查找所有选课学生。
}
/**
* ID ID
*
* @param cid ID
* @param sid ID
* @return
*/
@Override
public SelectCourse findScoreByCourseIdAndStudentId(String cid, String sid) {
return dao.findScoreByCourseIdAndStudentId(cid,sid);
return dao.findScoreByCourseIdAndStudentId(cid, sid); // 调用 DAO 层方法查找指定课程和学生的成绩。
}
/**
*
*
* @param cid ID
* @param sid ID
* @param sScore
*/
@Override
public void upDateScoreByCidAndSid(String cid, String sid, String sScore) {
dao.upDateScoreByCidAndSid(cid,sid,sScore);
dao.upDateScoreByCidAndSid(cid, sid, sScore); // 调用 DAO 层方法更新指定学生和课程的成绩。
}
}

@ -1,114 +1,196 @@
package service.impl;
import dao.StudentDao;
import dao.impl.StudentDaoImpl;
import domain.Course;
import domain.PageBean;
import domain.SelectCourse;
import domain.Student;
import service.StudentService;
import dao.StudentDao; // 导入 StudentDao 接口,操作学生数据。
import dao.impl.StudentDaoImpl; // 导入 StudentDaoImpl 类,实际的学生数据访问实现。
import domain.Course; // 导入 Course 类,表示课程信息。
import domain.PageBean; // 导入 PageBean 类,表示分页对象。
import domain.SelectCourse; // 导入 SelectCourse 类,表示选课信息。
import domain.Student; // 导入 Student 类,表示学生信息。
import service.StudentService; // 导入 StudentService 接口,定义学生服务层的业务逻辑。
import java.util.List;
import java.util.Map;
/**
* StudentServiceImpl StudentService
* StudentDao
*/
public class StudentServiceImpl implements StudentService {
private StudentDao dao = new StudentDaoImpl();
private StudentDao dao = new StudentDaoImpl(); // 实例化 StudentDaoImpl 对象,用于操作学生数据。
/**
*
*
* @param _currentPage
* @param _rows
* @param condition Map
* @return PageBean
*/
@Override
public PageBean<Student> findStudentByPage(String _currentPage, String _rows, Map<String, String[]> condition) {
// 转换当前页和每页记录数
int currentPage = Integer.parseInt(_currentPage);
int rows = Integer.parseInt(_rows);
//创建新的PageBean对象
// 创建新的 PageBean 对象
PageBean<Student> pb = new PageBean<Student>();
//设置参数
// 设置分页参数
pb.setCurrentPage(currentPage);
pb.setRows(rows);
//调用dao查询总记录数
// 查询总记录数并设置到 PageBean
int totalCount = dao.findTotalCount(condition);
pb.setTotalCount(totalCount);
//调用dao查询List集合
//计算开始记录的索引
// 计算开始记录的索引
int start = (currentPage - 1) * rows;
List<Student>list = dao.findByPage(start,rows,condition);
List<Student> list = dao.findByPage(start, rows, condition); // 查询分页数据
pb.setList(list);
//计算总页码
int totalPage = (totalCount % rows) == 0 ? totalCount/rows : (totalCount/rows) + 1;
// 计算总页码
int totalPage = (totalCount % rows) == 0 ? totalCount / rows : (totalCount / rows) + 1;
pb.setTotalPage(totalPage);
return pb;
}
/**
*
*
* @return
*/
@Override
public List<Student> findAll() {
return dao.findAll();
return dao.findAll(); // 调用 DAO 层的 findAll 方法获取所有学生信息
}
/**
*
*
* @param student ID
* @return null
*/
@Override
public Student login(Student student) {
return dao.findStudentidAndPassword(student.getS_id(),student.getS_password());
return dao.findStudentidAndPassword(student.getS_id(), student.getS_password()); // 调用 DAO 层方法进行登录验证
}
/**
* ID
*
* @param student ID
* @return
*/
@Override
public Student findStudentById(Student student) {
return dao.findStudentById(student.getS_id());
return dao.findStudentById(student.getS_id()); // 调用 DAO 层方法根据学生 ID 查询学生信息
}
/**
*
*
* @param student
*/
@Override
public void register(Student student) {
dao.addStudent(student);
dao.addStudent(student); // 调用 DAO 层方法注册学生
}
/**
*
*
* @param student
*/
@Override
public void updateInfo(Student student) {
dao.updateInfo(student);
dao.updateInfo(student); // 调用 DAO 层方法更新学生信息
}
/**
*
*
* @param studentid ID
* @param newpassword
*/
@Override
public void updatePassword(String studentid, String newpassword) {
dao.updatePassword(studentid,newpassword);
dao.updatePassword(studentid, newpassword); // 调用 DAO 层方法更新学生密码
}
/**
* ID
*
* @param studentid ID
* @return
*/
@Override
public List<SelectCourse> findAllSelectCourse(String studentid) {
return dao.findAllSelectCourse(studentid);
return dao.findAllSelectCourse(studentid); // 调用 DAO 层方法获取该学生的选课信息
}
/**
*
*
* @return
*/
@Override
public List<Course> findAllOptionalCourse() {
return dao.findAllOptionalCourse();
return dao.findAllOptionalCourse(); // 调用 DAO 层方法获取所有可选课程信息
}
/**
*
*
* @param studentid ID
* @param courseid ID
*/
@Override
public void addSelectCourse(String studentid, String courseid) {
dao.addSelectCourse(studentid,courseid);
dao.addSelectCourse(studentid, courseid); // 调用 DAO 层方法进行选课
}
/**
*
*
* @param studentid ID
*/
@Override
public void deleteStudentById(String studentid) {
dao.deleteStudentById(studentid);
dao.deleteStudentById(studentid); // 调用 DAO 层方法删除指定学生
}
/**
*
*
* @param sids ID ID
*/
@Override
public void deleteSelectStudent(String[] sids) {
if (sids != null && sids.length > 0) {
for (String sid: sids) {
dao.deleteStudentById(sid);
for (String sid : sids) {
dao.deleteStudentById(sid); // 调用 DAO 层方法批量删除学生
}
}
}
/**
*
*
* @param updateStudent
*/
@Override
public void addStudentAllInfo(Student updateStudent) {
dao.addStudentAllInfo(updateStudent);
dao.addStudentAllInfo(updateStudent); // 调用 DAO 层方法添加学生的完整信息
}
/**
*
*
* @return
*/
@Override
public List<SelectCourse> findSelectCourseAllStudent() {
return dao.findSelectCourseAllStudent();
return dao.findSelectCourseAllStudent(); // 调用 DAO 层方法获取所有学生的选课信息
}
}

@ -1,68 +1,133 @@
package service.impl;
import dao.TeacherDao;
import domain.Course;
import domain.Teacher;
import dao.impl.TeacherDaoImpl;
import service.TeacherService;
import dao.TeacherDao; // 导入 TeacherDao 接口,处理教师数据访问。
import domain.Course; // 导入 Course 类,表示课程信息。
import domain.Teacher; // 导入 Teacher 类,表示教师信息。
import dao.impl.TeacherDaoImpl; // 导入 TeacherDaoImpl 类,实际的教师数据访问实现。
import service.TeacherService; // 导入 TeacherService 接口,定义教师服务层的业务逻辑。
import java.util.List;
/**
* TeacherServiceImpl TeacherService
* TeacherDao
*/
public class TeacherServiceImpl implements TeacherService {
private TeacherDao dao = new TeacherDaoImpl();
private TeacherDao dao = new TeacherDaoImpl(); // 实例化 TeacherDaoImpl 对象,用于操作教师数据。
/**
*
*
* @param teacher ID
* @return null
*/
@Override
public Teacher login(Teacher teacher) {
return dao.findTeacheridAndPassword(teacher.getT_id(),teacher.getT_password());
return dao.findTeacheridAndPassword(teacher.getT_id(), teacher.getT_password()); // 调用 DAO 层方法进行登录验证
}
/**
*
*
* @return
*/
@Override
public List<Teacher> findAll() {
return dao.findAll();
return dao.findAll(); // 调用 DAO 层的 findAll 方法获取所有教师信息
}
/**
*
*
* @param T_id ID
* @return
*/
@Override
public List<Course> findMySelfOptionalCourse(String T_id) {
return dao.findMySelfOptionalCourse(T_id);
return dao.findMySelfOptionalCourse(T_id); // 调用 DAO 层方法获取该教师的可选课程
}
/**
* ID
*
* @param cid ID
* @return
*/
@Override
public Course findOptionalCourseByCourseId(String cid) {
return dao.findOptionalCourseByCourseId(cid);
return dao.findOptionalCourseByCourseId(cid); // 调用 DAO 层方法根据课程 ID 查询课程信息
}
/**
*
*
* @param updateCourse
*/
@Override
public void updateCourseInfo(Course updateCourse) {
dao.updateCourseInfo(updateCourse);
dao.updateCourseInfo(updateCourse); // 调用 DAO 层方法更新课程信息
}
/**
*
*
* @param cid ID
*/
@Override
public void deleteCourseById(String cid) {
dao.deleteCourseById(cid);
dao.deleteCourseById(cid); // 调用 DAO 层方法删除指定课程
}
/**
*
*
* @param teacherid ID
* @param newpassword
*/
@Override
public void updatePassword(String teacherid, String newpassword) {
dao.updatePassword(teacherid,newpassword);
dao.updatePassword(teacherid, newpassword); // 调用 DAO 层方法更新教师密码
}
/**
* ID
*
* @param teacher ID
* @return
*/
@Override
public Teacher findTeacherById(Teacher teacher) {
return dao.findTeacherById(teacher.getT_id());
return dao.findTeacherById(teacher.getT_id()); // 调用 DAO 层方法根据教师 ID 查询教师信息
}
/**
*
*
* @param updateTeacher
*/
@Override
public void addTeacherAllInfo(Teacher updateTeacher) {
dao.addTeacherAllInfo(updateTeacher);
dao.addTeacherAllInfo(updateTeacher); // 调用 DAO 层方法添加教师的完整信息
}
/**
*
*
* @param teacherid ID
*/
@Override
public void deleteTeacherById(String teacherid) {
dao.deleteTeacherById(teacherid);
dao.deleteTeacherById(teacherid); // 调用 DAO 层方法删除指定教师
}
/**
*
*
* @param updateTeacher
*/
@Override
public void updateInfo(Teacher updateTeacher) {
dao.updateInfo(updateTeacher);
dao.updateInfo(updateTeacher); // 调用 DAO 层方法更新教师信息
}
}

Loading…
Cancel
Save