zzx_branch1
lxb 8 months ago
parent 9728b0799e
commit 157b621c9a

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@ -1,60 +1,80 @@
package domain; package domain; // 定义在 domain 包下,表示该类是领域对象类,用于存储投诉信息。
public class Course { /**
private String c_id; * Complaint
private String c_name; * ID
private String c_info; */
private String t_id; public class Complaint {
private String t_name;
public String getC_id() { private String id; // 投诉ID
return c_id; private String cdate; // 投诉日期
} private String content; // 投诉内容
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;
}
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;
} }
/**
* toString ID
*
* @return ID
*/
@Override @Override
public String toString() { public String toString() {
return "Course{" + return "Complaint{" +
"c_id='" + c_id + '\'' + "id='" + id + '\'' +
", c_name='" + c_name + '\'' + ", cdate='" + cdate + '\'' +
", c_info='" + c_info + '\'' + ", content='" + content + '\'' +
", t_id='" + t_id + '\'' +
", t_name='" + t_name + '\'' +
'}'; '}';
} }
} }

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

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

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

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

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

@ -1,106 +1,226 @@
package domain; package domain; // 定义在 domain 包下,表示该类是领域对象类,用于存储学生的个人信息。
/**
* Student
* ID
*/
public class Student { 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() { public String getS_id() {
return s_id; return s_id;
} }
/**
* ID
*
* @param s_id ID
*/
public void setS_id(String s_id) { public void setS_id(String s_id) {
this.s_id = s_id; this.s_id = s_id;
} }
/**
*
*
* @return
*/
public String getS_college() { public String getS_college() {
return s_college; return s_college;
} }
/**
*
*
* @param s_college
*/
public void setS_college(String s_college) { public void setS_college(String s_college) {
this.s_college = s_college; this.s_college = s_college;
} }
/**
*
*
* @return
*/
public String getS_department() { public String getS_department() {
return s_department; return s_department;
} }
/**
*
*
* @param s_department
*/
public void setS_department(String s_department) { public void setS_department(String s_department) {
this.s_department = s_department; this.s_department = s_department;
} }
/**
*
*
* @return
*/
public String getS_class() { public String getS_class() {
return s_class; return s_class;
} }
/**
*
*
* @param s_class
*/
public void setS_class(String s_class) { public void setS_class(String s_class) {
this.s_class = s_class; this.s_class = s_class;
} }
/**
*
*
* @return
*/
public String getS_name() { public String getS_name() {
return s_name; return s_name;
} }
/**
*
*
* @param s_name
*/
public void setS_name(String s_name) { public void setS_name(String s_name) {
this.s_name = s_name; this.s_name = s_name;
} }
/**
*
*
* @return
*/
public String getS_sex() { public String getS_sex() {
return s_sex; return s_sex;
} }
/**
*
*
* @param s_sex
*/
public void setS_sex(String s_sex) { public void setS_sex(String s_sex) {
this.s_sex = s_sex; this.s_sex = s_sex;
} }
/**
*
*
* @return
*/
public String getS_age() { public String getS_age() {
return s_age; return s_age;
} }
/**
*
*
* @param s_age
*/
public void setS_age(String s_age) { public void setS_age(String s_age) {
this.s_age = s_age; this.s_age = s_age;
} }
/**
*
*
* @return
*/
public String getS_address() { public String getS_address() {
return s_address; return s_address;
} }
/**
*
*
* @param s_address
*/
public void setS_address(String s_address) { public void setS_address(String s_address) {
this.s_address = s_address; this.s_address = s_address;
} }
/**
*
*
* @return
*/
public String getS_phone() { public String getS_phone() {
return s_phone; return s_phone;
} }
/**
*
*
* @param s_phone
*/
public void setS_phone(String s_phone) { public void setS_phone(String s_phone) {
this.s_phone = s_phone; this.s_phone = s_phone;
} }
/**
*
*
* @return
*/
public String getS_email() { public String getS_email() {
return s_email; return s_email;
} }
/**
*
*
* @param s_email
*/
public void setS_email(String s_email) { public void setS_email(String s_email) {
this.s_email = s_email; this.s_email = s_email;
} }
/**
*
*
* @return
*/
public String getS_password() { public String getS_password() {
return s_password; return s_password;
} }
/**
*
*
* @param s_password
*/
public void setS_password(String s_password) { public void setS_password(String s_password) {
this.s_password = s_password; this.s_password = s_password;
} }
/**
* toString
*
* @return ID
*/
@Override @Override
public String toString() { public String toString() {
return "Student{" + return "Student{" +

@ -1,61 +1,131 @@
package domain; package domain; // 定义在 domain 包下,表示该类是领域对象类,用于存储教师的个人信息。
/**
* Teacher
* ID
*/
public class Teacher { 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() { public String getT_id() {
return t_id; return t_id;
} }
/**
* ID
*
* @param t_id ID
*/
public void setT_id(String t_id) { public void setT_id(String t_id) {
this.t_id = t_id; this.t_id = t_id;
} }
/**
*
*
* @return
*/
public String getT_name() { public String getT_name() {
return t_name; return t_name;
} }
/**
*
*
* @param t_name
*/
public void setT_name(String t_name) { public void setT_name(String t_name) {
this.t_name = t_name; this.t_name = t_name;
} }
/**
*
*
* @return
*/
public String getT_sex() { public String getT_sex() {
return t_sex; return t_sex;
} }
/**
*
*
* @param t_sex
*/
public void setT_sex(String t_sex) { public void setT_sex(String t_sex) {
this.t_sex = t_sex; this.t_sex = t_sex;
} }
/**
*
*
* @return
*/
public String getT_education() { public String getT_education() {
return t_education; return t_education;
} }
/**
*
*
* @param t_education
*/
public void setT_education(String t_education) { public void setT_education(String t_education) {
this.t_education = t_education; this.t_education = t_education;
} }
/**
*
*
* @return
*/
public String getT_title() { public String getT_title() {
return t_title; return t_title;
} }
/**
*
*
* @param t_title
*/
public void setT_title(String t_title) { public void setT_title(String t_title) {
this.t_title = t_title; this.t_title = t_title;
} }
/**
*
*
* @return
*/
public String getT_password() { public String getT_password() {
return t_password; return t_password;
} }
/**
*
*
* @param t_password
*/
public void setT_password(String t_password) { public void setT_password(String t_password) {
this.t_password = t_password; this.t_password = t_password;
} }
/**
* toString
*
* @return ID
*/
@Override @Override
public String toString() { public String toString() {
return "Teacher{" + return "Teacher{" +

@ -1,25 +1,48 @@
package service.impl; package service.impl;
import dao.AdminDao; import dao.AdminDao; // 导入 AdminDao 接口,用于操作管理员相关的数据。
import dao.impl.AdminDaoImpl; import dao.impl.AdminDaoImpl; // 导入 AdminDaoImpl 类,实际的管理员数据访问实现。
import domain.Admin; import domain.Admin; // 导入 Admin 类,表示管理员实体。
import service.AdminService; import service.AdminService; // 导入 AdminService 接口,定义管理员服务层的业务逻辑。
/**
* AdminServiceImpl
* AdminDao
*/
public class AdminServiceImpl implements AdminService { public class AdminServiceImpl implements AdminService {
private AdminDao dao = new AdminDaoImpl();
private AdminDao dao = new AdminDaoImpl(); // 实例化 AdminDaoImpl 对象,操作管理员数据。
/**
*
*
* @param admin ID
* @return null
*/
@Override @Override
public Admin login(Admin admin) { 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 @Override
public void updatePassword(String adminid, String newpassword) { public void updatePassword(String adminid, String newpassword) {
dao.updatePassword(adminid,newpassword); dao.updatePassword(adminid, newpassword); // 调用 Dao 层方法更新密码。
} }
/**
* ID
*
* @param admin ID
* @return null
*/
@Override @Override
public Admin findAdminById(Admin admin) { 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; package service.impl;
import dao.CDCDao; import dao.CDCDao; // 导入 CDCDao 接口,操作与 CDC学院、部门、班级相关的数据。
import dao.impl.CDCDaoImpl; import dao.impl.CDCDaoImpl; // 导入 CDCDaoImpl 类,实际的 CDC 数据访问实现。
import domain.CDC; import domain.CDC; // 导入 CDC 类,表示学院、部门、班级等信息的实体。
import service.CDCService; import service.CDCService; // 导入 CDCService 接口,定义 CDC 服务层的业务逻辑。
import java.util.List; import java.util.List; // 导入 List 类,作为返回的数据类型,用于返回多个结果。
/**
* CDCServiceImpl
* CDCDao
*/
public class CDCServiceImpl implements CDCService { public class CDCServiceImpl implements CDCService {
private CDCDao dao = new CDCDaoImpl();
private CDCDao dao = new CDCDaoImpl(); // 实例化 CDCDaoImpl 对象,用于操作 CDC 数据。
/**
*
*
* @return List
*/
@Override @Override
public List<CDC> findAllCollege() { public List<CDC> findAllCollege() {
return dao.findAllCollege(); return dao.findAllCollege(); // 调用 DAO 层方法获取所有学院数据。
} }
/**
*
*
* @return List
*/
@Override @Override
public List<CDC> findAllDepartment() { public List<CDC> findAllDepartment() {
return dao.findAllDepartment(); return dao.findAllDepartment(); // 调用 DAO 层方法获取所有部门数据。
} }
/**
*
*
* @return List
*/
@Override @Override
public List<CDC> findAllClass() { public List<CDC> findAllClass() {
return dao.findAllClass(); return dao.findAllClass(); // 调用 DAO 层方法获取所有班级数据。
} }
/**
*
*
* @return List
*/
@Override @Override
public List<CDC> findAll() { public List<CDC> findAll() {
return dao.findAll(); return dao.findAll(); // 调用 DAO 层方法获取所有学院、部门和班级数据。
} }
} }

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

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

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

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

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

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

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

Loading…
Cancel
Save