feat(mapper): 添加院系专业学生公告的修改删除功能

- 在DepartmentMapper接口中添加updateDepartment和deleteDepartment方法
- 在DepartmentMapper.xml中实现院系修改和删除的SQL映射
- 在MajorMapper接口中添加updateMajor和deleteMajor方法
- 在MajorMapper.xml中实现专业修改和删除的SQL映射
- 在NoticeMapper接口中添加updateNotice和deleteNotice方法
- 在NoticeMapper.xml中实现公告修改和删除的SQL映射
- 在StudentMapper接口中添加updateStudent和deleteStudent方法
- 在StudentMapper.xml中实现学生修改和删除的SQL映射
- 移除TestMyBatis测试类中的冗余代码
main
CesarH 3 days ago
parent cedae8e39b
commit e3fd2600e6

@ -9,4 +9,8 @@ public interface DepartmentMapper {
List<Department> getDepartmentAll();
// 添加院系
void addDepartment(Department department);
// 修改院系
void updateDepartment(Department department);
// 删除院系
void deleteDepartment(Integer deptId);
}

@ -14,4 +14,17 @@
INSERT INTO department(dept_name, dept_code, dept_phone, dept_address)
VALUES(#{deptName}, #{deptCode}, #{deptPhone}, #{deptAddress})
</insert>
<!-- 修改院系 -->
<update id="updateDepartment" parameterType="com.ssm.entity.Department">
UPDATE department
SET dept_name = #{deptName},
dept_code = #{deptCode},
dept_phone = #{deptPhone},
dept_address = #{deptAddress}
WHERE dept_id = #{deptId}
</update>
<!-- 删除院系 -->
<delete id="deleteDepartment" parameterType="Integer">
DELETE FROM department WHERE dept_id = #{deptId}
</delete>
</mapper>

@ -7,4 +7,8 @@ public interface MajorMapper {
List<Major> getMajorAll();
// 添加专业
void addMajor(Major major);
// 修改专业
void updateMajor(Major major);
// 删除专业
void deleteMajor(Integer majorId);
}

@ -14,4 +14,17 @@
INSERT INTO major(major_name, major_code, dept_id, study_year)
VALUES(#{majorName}, #{majorCode}, #{deptId}, #{studyYear})
</insert>
<!-- 修改专业 -->
<update id="updateMajor" parameterType="com.ssm.entity.Major">
UPDATE major
SET major_name = #{majorName},
major_code = #{majorCode},
dept_id = #{deptId},
study_year = #{studyYear}
WHERE major_id = #{majorId}
</update>
<!-- 删除专业 -->
<delete id="deleteMajor" parameterType="Integer">
DELETE FROM major WHERE major_id = #{majorId}
</delete>
</mapper>

@ -7,4 +7,8 @@ public interface NoticeMapper {
List<Notice> getNoticeAll();
// 添加公告
void addNotice(Notice notice);
// 修改公告
void updateNotice(Notice notice);
// 删除公告
void deleteNotice(Integer noticeId);
}

@ -14,4 +14,18 @@
INSERT INTO notice(title, content, publish_time, publisher, status)
VALUES(#{title}, #{content}, #{publishTime}, #{publisher}, #{status})
</insert>
<!-- 修改公告 -->
<update id="updateNotice" parameterType="com.ssm.entity.Notice">
UPDATE notice
SET title = #{title},
content = #{content},
publish_time = #{publishTime},
publisher = #{publisher},
status = #{status}
WHERE notice_id = #{noticeId}
</update>
<!-- 删除公告 -->
<delete id="deleteNotice" parameterType="Integer">
DELETE FROM notice WHERE notice_id = #{noticeId}
</delete>
</mapper>

@ -7,4 +7,8 @@ public interface StudentMapper {
List<Student> getStudentAll();
// 添加学生
void addStudent(Student student);
// 修改学生
void updateStudent(Student student);
// 删除学生
void deleteStudent(Integer studentId);
}

@ -14,4 +14,19 @@
INSERT INTO student(student_no, student_name, gender, age, class_id, phone)
VALUES(#{studentNo}, #{studentName}, #{gender}, #{age}, #{classId}, #{phone})
</insert>
<!-- 修改学生 -->
<update id="updateStudent" parameterType="com.ssm.entity.Student">
UPDATE student
SET student_no = #{studentNo},
student_name = #{studentName},
gender = #{gender},
age = #{age},
class_id = #{classId},
phone = #{phone}
WHERE student_id = #{studentId}
</update>
<!-- 删除学生 -->
<delete id="deleteStudent" parameterType="Integer">
DELETE FROM student WHERE student_id = #{studentId}
</delete>
</mapper>

@ -1,136 +0,0 @@
package com.ssm.test;
import com.ssm.entity.*;
import com.ssm.mapper.*;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import java.io.Reader;
import java.util.Date;
import java.util.List;
public class TestMyBatis {
public static void main(String[] args) throws Exception {
// 1. 加载配置文件
Reader reader = Resources.getResourceAsReader("config.xml");
SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(reader);
SqlSession sqlSession = factory.openSession();
// 2. 查询测试(之前写的)
testDepartment(sqlSession);
testMajor(sqlSession);
testStudent(sqlSession);
testNotice(sqlSession);
// 3. 添加测试(本次任务重点)
testAddDepartment(sqlSession);
testAddMajor(sqlSession);
testAddStudent(sqlSession);
testAddNotice(sqlSession);
sqlSession.close();
reader.close();
}
// ========== 查询方法(保留) ==========
private static void testDepartment(SqlSession sqlSession) {
DepartmentMapper mapper = sqlSession.getMapper(DepartmentMapper.class);
Department dept = mapper.getDepartmentById(1);
System.out.println("===== 院系模块 - 按ID查询 =====");
System.out.println(dept);
List<Department> deptList = mapper.getDepartmentAll();
System.out.println("\n===== 院系模块 - 查询所有 =====");
deptList.forEach(System.out::println);
}
private static void testMajor(SqlSession sqlSession) {
MajorMapper mapper = sqlSession.getMapper(MajorMapper.class);
Major major = mapper.getMajorById(1);
System.out.println("\n===== 专业模块 - 按ID查询 =====");
System.out.println(major);
List<Major> majorList = mapper.getMajorAll();
System.out.println("\n===== 专业模块 - 查询所有 =====");
majorList.forEach(System.out::println);
}
private static void testStudent(SqlSession sqlSession) {
StudentMapper mapper = sqlSession.getMapper(StudentMapper.class);
Student student = mapper.getStudentById(1);
System.out.println("\n===== 学生模块 - 按ID查询 =====");
System.out.println(student);
List<Student> studentList = mapper.getStudentAll();
System.out.println("\n===== 学生模块 - 查询所有 =====");
studentList.forEach(System.out::println);
}
private static void testNotice(SqlSession sqlSession) {
NoticeMapper mapper = sqlSession.getMapper(NoticeMapper.class);
Notice notice = mapper.getNoticeById(1);
System.out.println("\n===== 公告模块 - 按ID查询 =====");
System.out.println(notice);
List<Notice> noticeList = mapper.getNoticeAll();
System.out.println("\n===== 公告模块 - 查询所有 =====");
noticeList.forEach(System.out::println);
}
// ========== 添加方法(本次任务重点) ==========
// 1. 添加院系
private static void testAddDepartment(SqlSession sqlSession) {
DepartmentMapper mapper = sqlSession.getMapper(DepartmentMapper.class);
// 新建对象
Department dept = new Department();
dept.setDeptName("软件工程学院");
dept.setDeptCode("SE011");
dept.setDeptPhone("024-11112222");
dept.setDeptAddress("实训楼E座2楼");
// 调用添加方法
mapper.addDepartment(dept);
// 提交事务(必须写!)
sqlSession.commit();
System.out.println("\n===== 院系模块 - 添加成功 =====");
}
// 2. 添加专业
private static void testAddMajor(SqlSession sqlSession) {
MajorMapper mapper = sqlSession.getMapper(MajorMapper.class);
Major major = new Major();
major.setMajorName("人工智能");
major.setMajorCode("AI01");
major.setDeptId(1); // 所属院系ID根据你的数据修改
major.setStudyYear(4);
mapper.addMajor(major);
sqlSession.commit();
System.out.println("===== 专业模块 - 添加成功 =====");
}
// 3. 添加学生
private static void testAddStudent(SqlSession sqlSession) {
StudentMapper mapper = sqlSession.getMapper(StudentMapper.class);
Student student = new Student();
student.setStudentNo("2023011");
student.setStudentName("新同学");
student.setGender("男");
student.setAge(20);
student.setClassId(1); // 所属班级ID根据你的数据修改
student.setPhone("13800138011");
mapper.addStudent(student);
sqlSession.commit();
System.out.println("===== 学生模块 - 添加成功 =====");
}
// 4. 添加公告
private static void testAddNotice(SqlSession sqlSession) {
NoticeMapper mapper = sqlSession.getMapper(NoticeMapper.class);
Notice notice = new Notice();
notice.setTitle("新增实训通知");
notice.setContent("下周将进行人工智能专业实训,请大家提前准备");
notice.setPublishTime(new Date());
notice.setPublisher("实训中心");
notice.setStatus(1);
mapper.addNotice(notice);
sqlSession.commit();
System.out.println("===== 公告模块 - 添加成功 =====");
}
}
Loading…
Cancel
Save