From e3fd2600e6c8a503528fff0e3fce3ce23f0ad302 Mon Sep 17 00:00:00 2001 From: CesarH Date: Wed, 27 May 2026 22:13:10 +0800 Subject: [PATCH] =?UTF-8?q?feat(mapper):=20=E6=B7=BB=E5=8A=A0=E9=99=A2?= =?UTF-8?q?=E7=B3=BB=E4=B8=93=E4=B8=9A=E5=AD=A6=E7=94=9F=E5=85=AC=E5=91=8A?= =?UTF-8?q?=E7=9A=84=E4=BF=AE=E6=94=B9=E5=88=A0=E9=99=A4=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在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测试类中的冗余代码 --- .../src/com/ssm/mapper/DepartmentMapper.java | 4 + .../src/com/ssm/mapper/DepartmentMapper.xml | 13 ++ .../src/com/ssm/mapper/MajorMapper.java | 4 + .../src/com/ssm/mapper/MajorMapper.xml | 13 ++ .../src/com/ssm/mapper/NoticeMapper.java | 4 + .../src/com/ssm/mapper/NoticeMapper.xml | 14 ++ .../src/com/ssm/mapper/StudentMapper.java | 4 + .../src/com/ssm/mapper/StudentMapper.xml | 15 ++ .../src/com/ssm/test/TestMyBatis.java | 136 ------------------ 9 files changed, 71 insertions(+), 136 deletions(-) delete mode 100644 grademanagement-MyBatisProject/src/com/ssm/test/TestMyBatis.java diff --git a/grademanagement-MyBatisProject/src/com/ssm/mapper/DepartmentMapper.java b/grademanagement-MyBatisProject/src/com/ssm/mapper/DepartmentMapper.java index 9595b55..9cc743e 100644 --- a/grademanagement-MyBatisProject/src/com/ssm/mapper/DepartmentMapper.java +++ b/grademanagement-MyBatisProject/src/com/ssm/mapper/DepartmentMapper.java @@ -9,4 +9,8 @@ public interface DepartmentMapper { List getDepartmentAll(); // 添加院系 void addDepartment(Department department); + // 修改院系 + void updateDepartment(Department department); + // 删除院系 + void deleteDepartment(Integer deptId); } \ No newline at end of file diff --git a/grademanagement-MyBatisProject/src/com/ssm/mapper/DepartmentMapper.xml b/grademanagement-MyBatisProject/src/com/ssm/mapper/DepartmentMapper.xml index 7f58987..c76e6bd 100644 --- a/grademanagement-MyBatisProject/src/com/ssm/mapper/DepartmentMapper.xml +++ b/grademanagement-MyBatisProject/src/com/ssm/mapper/DepartmentMapper.xml @@ -14,4 +14,17 @@ INSERT INTO department(dept_name, dept_code, dept_phone, dept_address) VALUES(#{deptName}, #{deptCode}, #{deptPhone}, #{deptAddress}) + + + UPDATE department + SET dept_name = #{deptName}, + dept_code = #{deptCode}, + dept_phone = #{deptPhone}, + dept_address = #{deptAddress} + WHERE dept_id = #{deptId} + + + + DELETE FROM department WHERE dept_id = #{deptId} + \ No newline at end of file diff --git a/grademanagement-MyBatisProject/src/com/ssm/mapper/MajorMapper.java b/grademanagement-MyBatisProject/src/com/ssm/mapper/MajorMapper.java index 8efc7c2..92ef000 100644 --- a/grademanagement-MyBatisProject/src/com/ssm/mapper/MajorMapper.java +++ b/grademanagement-MyBatisProject/src/com/ssm/mapper/MajorMapper.java @@ -7,4 +7,8 @@ public interface MajorMapper { List getMajorAll(); // 添加专业 void addMajor(Major major); + // 修改专业 + void updateMajor(Major major); + // 删除专业 + void deleteMajor(Integer majorId); } \ No newline at end of file diff --git a/grademanagement-MyBatisProject/src/com/ssm/mapper/MajorMapper.xml b/grademanagement-MyBatisProject/src/com/ssm/mapper/MajorMapper.xml index 888d02c..bf75ad4 100644 --- a/grademanagement-MyBatisProject/src/com/ssm/mapper/MajorMapper.xml +++ b/grademanagement-MyBatisProject/src/com/ssm/mapper/MajorMapper.xml @@ -14,4 +14,17 @@ INSERT INTO major(major_name, major_code, dept_id, study_year) VALUES(#{majorName}, #{majorCode}, #{deptId}, #{studyYear}) + + + UPDATE major + SET major_name = #{majorName}, + major_code = #{majorCode}, + dept_id = #{deptId}, + study_year = #{studyYear} + WHERE major_id = #{majorId} + + + + DELETE FROM major WHERE major_id = #{majorId} + \ No newline at end of file diff --git a/grademanagement-MyBatisProject/src/com/ssm/mapper/NoticeMapper.java b/grademanagement-MyBatisProject/src/com/ssm/mapper/NoticeMapper.java index 769948d..74d8c01 100644 --- a/grademanagement-MyBatisProject/src/com/ssm/mapper/NoticeMapper.java +++ b/grademanagement-MyBatisProject/src/com/ssm/mapper/NoticeMapper.java @@ -7,4 +7,8 @@ public interface NoticeMapper { List getNoticeAll(); // 添加公告 void addNotice(Notice notice); + // 修改公告 + void updateNotice(Notice notice); + // 删除公告 + void deleteNotice(Integer noticeId); } \ No newline at end of file diff --git a/grademanagement-MyBatisProject/src/com/ssm/mapper/NoticeMapper.xml b/grademanagement-MyBatisProject/src/com/ssm/mapper/NoticeMapper.xml index d24e9fc..3867705 100644 --- a/grademanagement-MyBatisProject/src/com/ssm/mapper/NoticeMapper.xml +++ b/grademanagement-MyBatisProject/src/com/ssm/mapper/NoticeMapper.xml @@ -14,4 +14,18 @@ INSERT INTO notice(title, content, publish_time, publisher, status) VALUES(#{title}, #{content}, #{publishTime}, #{publisher}, #{status}) + + + UPDATE notice + SET title = #{title}, + content = #{content}, + publish_time = #{publishTime}, + publisher = #{publisher}, + status = #{status} + WHERE notice_id = #{noticeId} + + + + DELETE FROM notice WHERE notice_id = #{noticeId} + \ No newline at end of file diff --git a/grademanagement-MyBatisProject/src/com/ssm/mapper/StudentMapper.java b/grademanagement-MyBatisProject/src/com/ssm/mapper/StudentMapper.java index b7f0907..591d166 100644 --- a/grademanagement-MyBatisProject/src/com/ssm/mapper/StudentMapper.java +++ b/grademanagement-MyBatisProject/src/com/ssm/mapper/StudentMapper.java @@ -7,4 +7,8 @@ public interface StudentMapper { List getStudentAll(); // 添加学生 void addStudent(Student student); + // 修改学生 + void updateStudent(Student student); + // 删除学生 + void deleteStudent(Integer studentId); } \ No newline at end of file diff --git a/grademanagement-MyBatisProject/src/com/ssm/mapper/StudentMapper.xml b/grademanagement-MyBatisProject/src/com/ssm/mapper/StudentMapper.xml index 1dbfc45..9ad5db2 100644 --- a/grademanagement-MyBatisProject/src/com/ssm/mapper/StudentMapper.xml +++ b/grademanagement-MyBatisProject/src/com/ssm/mapper/StudentMapper.xml @@ -14,4 +14,19 @@ INSERT INTO student(student_no, student_name, gender, age, class_id, phone) VALUES(#{studentNo}, #{studentName}, #{gender}, #{age}, #{classId}, #{phone}) + + + UPDATE student + SET student_no = #{studentNo}, + student_name = #{studentName}, + gender = #{gender}, + age = #{age}, + class_id = #{classId}, + phone = #{phone} + WHERE student_id = #{studentId} + + + + DELETE FROM student WHERE student_id = #{studentId} + \ No newline at end of file diff --git a/grademanagement-MyBatisProject/src/com/ssm/test/TestMyBatis.java b/grademanagement-MyBatisProject/src/com/ssm/test/TestMyBatis.java deleted file mode 100644 index 167517c..0000000 --- a/grademanagement-MyBatisProject/src/com/ssm/test/TestMyBatis.java +++ /dev/null @@ -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 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 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 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 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("===== 公告模块 - 添加成功 ====="); - } -} \ No newline at end of file