diff --git a/.idea/dataSources.xml b/.idea/dataSources.xml
new file mode 100644
index 0000000..468021f
--- /dev/null
+++ b/.idea/dataSources.xml
@@ -0,0 +1,18 @@
+
+
+
+
+ mysql.8
+ true
+ com.mysql.cj.jdbc.Driver
+ jdbc:mysql://localhost:3306
+
+
+
+
+
+
+ $ProjectFileDir$
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/lib___2_.xml b/.idea/libraries/lib___2_.xml
new file mode 100644
index 0000000..c25509f
--- /dev/null
+++ b/.idea/libraries/lib___2_.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/lib___3_.xml b/.idea/libraries/lib___3_.xml
new file mode 100644
index 0000000..3379145
--- /dev/null
+++ b/.idea/libraries/lib___3_.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/sqldialects.xml b/.idea/sqldialects.xml
new file mode 100644
index 0000000..39426bc
--- /dev/null
+++ b/.idea/sqldialects.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/grademanagement-MyBatisProject/grademanagement-MyBatisProject.iml b/grademanagement-MyBatisProject/grademanagement-MyBatisProject.iml
index c90834f..c1908f0 100644
--- a/grademanagement-MyBatisProject/grademanagement-MyBatisProject.iml
+++ b/grademanagement-MyBatisProject/grademanagement-MyBatisProject.iml
@@ -4,8 +4,11 @@
+
+
+
\ No newline at end of file
diff --git a/grademanagement-MyBatisProject/lib/mybatis-3.5.0.jar b/grademanagement-MyBatisProject/lib/mybatis-3.5.0.jar
new file mode 100644
index 0000000..659dbb6
Binary files /dev/null and b/grademanagement-MyBatisProject/lib/mybatis-3.5.0.jar differ
diff --git a/grademanagement-MyBatisProject/lib/mysql-connector-java-8.0.11(1).jar b/grademanagement-MyBatisProject/lib/mysql-connector-java-8.0.11(1).jar
new file mode 100644
index 0000000..c8b8b3f
Binary files /dev/null and b/grademanagement-MyBatisProject/lib/mysql-connector-java-8.0.11(1).jar differ
diff --git a/grademanagement-MyBatisProject/src/com/ssm/entity/Clazz.java b/grademanagement-MyBatisProject/src/com/ssm/entity/Clazz.java
new file mode 100644
index 0000000..ef188b0
--- /dev/null
+++ b/grademanagement-MyBatisProject/src/com/ssm/entity/Clazz.java
@@ -0,0 +1,59 @@
+package com.ssm.entity;
+
+public class Clazz {
+ private Integer classId;
+ private String className;
+ private Integer majorId; // 关联专业ID
+ private String grade;
+
+ public Clazz() {}
+
+ public Clazz(Integer classId, String className, Integer majorId, String grade) {
+ this.classId = classId;
+ this.className = className;
+ this.majorId = majorId;
+ this.grade = grade;
+ }
+
+ public Integer getClassId() {
+ return classId;
+ }
+
+ public void setClassId(Integer classId) {
+ this.classId = classId;
+ }
+
+ public String getClassName() {
+ return className;
+ }
+
+ public void setClassName(String className) {
+ this.className = className;
+ }
+
+ public Integer getMajorId() {
+ return majorId;
+ }
+
+ public void setMajorId(Integer majorId) {
+ this.majorId = majorId;
+ }
+
+ public String getGrade() {
+ return grade;
+ }
+
+ public void setGrade(String grade) {
+ this.grade = grade;
+ }
+
+ @Override
+ public String toString() {
+ return "Class{" +
+ "classId=" + classId +
+ ", className='" + className + '\'' +
+ ", majorId=" + majorId +
+ ", grade='" + grade + '\'' +
+ '}';
+ }
+}
\ No newline at end of file
diff --git a/grademanagement-MyBatisProject/src/com/ssm/entity/Department.java b/grademanagement-MyBatisProject/src/com/ssm/entity/Department.java
new file mode 100644
index 0000000..ee664b9
--- /dev/null
+++ b/grademanagement-MyBatisProject/src/com/ssm/entity/Department.java
@@ -0,0 +1,70 @@
+package com.ssm.entity;
+
+public class Department {
+ private Integer deptId;
+ private String deptName;
+ private String deptCode;
+ private String deptPhone;
+ private String deptAddress;
+
+ public Department() {}
+
+ public Department(Integer deptId, String deptName, String deptCode, String deptPhone, String deptAddress) {
+ this.deptId = deptId;
+ this.deptName = deptName;
+ this.deptCode = deptCode;
+ this.deptPhone = deptPhone;
+ this.deptAddress = deptAddress;
+ }
+
+ public Integer getDeptId() {
+ return deptId;
+ }
+
+ public void setDeptId(Integer deptId) {
+ this.deptId = deptId;
+ }
+
+ public String getDeptName() {
+ return deptName;
+ }
+
+ public void setDeptName(String deptName) {
+ this.deptName = deptName;
+ }
+
+ public String getDeptCode() {
+ return deptCode;
+ }
+
+ public void setDeptCode(String deptCode) {
+ this.deptCode = deptCode;
+ }
+
+ public String getDeptPhone() {
+ return deptPhone;
+ }
+
+ public void setDeptPhone(String deptPhone) {
+ this.deptPhone = deptPhone;
+ }
+
+ public String getDeptAddress() {
+ return deptAddress;
+ }
+
+ public void setDeptAddress(String deptAddress) {
+ this.deptAddress = deptAddress;
+ }
+
+ @Override
+ public String toString() {
+ return "Department{" +
+ "deptId=" + deptId +
+ ", deptName='" + deptName + '\'' +
+ ", deptCode='" + deptCode + '\'' +
+ ", deptPhone='" + deptPhone + '\'' +
+ ", deptAddress='" + deptAddress + '\'' +
+ '}';
+ }
+}
\ No newline at end of file
diff --git a/grademanagement-MyBatisProject/src/com/ssm/entity/Major.java b/grademanagement-MyBatisProject/src/com/ssm/entity/Major.java
new file mode 100644
index 0000000..33d1d25
--- /dev/null
+++ b/grademanagement-MyBatisProject/src/com/ssm/entity/Major.java
@@ -0,0 +1,70 @@
+package com.ssm.entity;
+
+public class Major {
+ private Integer majorId;
+ private String majorName;
+ private String majorCode;
+ private Integer deptId; // 关联院系ID
+ private Integer studyYear;
+
+ public Major() {}
+
+ public Major(Integer majorId, String majorName, String majorCode, Integer deptId, Integer studyYear) {
+ this.majorId = majorId;
+ this.majorName = majorName;
+ this.majorCode = majorCode;
+ this.deptId = deptId;
+ this.studyYear = studyYear;
+ }
+
+ public Integer getMajorId() {
+ return majorId;
+ }
+
+ public void setMajorId(Integer majorId) {
+ this.majorId = majorId;
+ }
+
+ public String getMajorName() {
+ return majorName;
+ }
+
+ public void setMajorName(String majorName) {
+ this.majorName = majorName;
+ }
+
+ public String getMajorCode() {
+ return majorCode;
+ }
+
+ public void setMajorCode(String majorCode) {
+ this.majorCode = majorCode;
+ }
+
+ public Integer getDeptId() {
+ return deptId;
+ }
+
+ public void setDeptId(Integer deptId) {
+ this.deptId = deptId;
+ }
+
+ public Integer getStudyYear() {
+ return studyYear;
+ }
+
+ public void setStudyYear(Integer studyYear) {
+ this.studyYear = studyYear;
+ }
+
+ @Override
+ public String toString() {
+ return "Major{" +
+ "majorId=" + majorId +
+ ", majorName='" + majorName + '\'' +
+ ", majorCode='" + majorCode + '\'' +
+ ", deptId=" + deptId +
+ ", studyYear=" + studyYear +
+ '}';
+ }
+}
\ No newline at end of file
diff --git a/grademanagement-MyBatisProject/src/com/ssm/entity/Notice.java b/grademanagement-MyBatisProject/src/com/ssm/entity/Notice.java
new file mode 100644
index 0000000..6d933f5
--- /dev/null
+++ b/grademanagement-MyBatisProject/src/com/ssm/entity/Notice.java
@@ -0,0 +1,83 @@
+package com.ssm.entity;
+
+import java.util.Date;
+
+public class Notice {
+ private Integer noticeId;
+ private String title;
+ private String content;
+ private Date publishTime;
+ private String publisher;
+ private Integer status;
+
+ public Notice() {}
+
+ public Notice(Integer noticeId, String title, String content, Date publishTime, String publisher, Integer status) {
+ this.noticeId = noticeId;
+ this.title = title;
+ this.content = content;
+ this.publishTime = publishTime;
+ this.publisher = publisher;
+ this.status = status;
+ }
+
+ public Integer getNoticeId() {
+ return noticeId;
+ }
+
+ public void setNoticeId(Integer noticeId) {
+ this.noticeId = noticeId;
+ }
+
+ public String getTitle() {
+ return title;
+ }
+
+ public void setTitle(String title) {
+ this.title = title;
+ }
+
+ public String getContent() {
+ return content;
+ }
+
+ public void setContent(String content) {
+ this.content = content;
+ }
+
+ public Date getPublishTime() {
+ return publishTime;
+ }
+
+ public void setPublishTime(Date publishTime) {
+ this.publishTime = publishTime;
+ }
+
+ public String getPublisher() {
+ return publisher;
+ }
+
+ public void setPublisher(String publisher) {
+ this.publisher = publisher;
+ }
+
+ public Integer getStatus() {
+ return status;
+ }
+
+ public void setStatus(Integer status) {
+ this.status = status;
+ }
+
+ @Override
+ public String toString() {
+ return "Notice{" +
+ "noticeId=" + noticeId +
+ ", title='" + title + '\'' +
+ ", content='" + content + '\'' +
+ ", publishTime=" + publishTime +
+ ", publisher='" + publisher + '\'' +
+ ", status=" + status +
+ '}';
+ }
+}
\ No newline at end of file
diff --git a/grademanagement-MyBatisProject/src/com/ssm/entity/Student.java b/grademanagement-MyBatisProject/src/com/ssm/entity/Student.java
new file mode 100644
index 0000000..ed0c09c
--- /dev/null
+++ b/grademanagement-MyBatisProject/src/com/ssm/entity/Student.java
@@ -0,0 +1,92 @@
+package com.ssm.entity;
+
+public class Student {
+ private Integer studentId;
+ private String studentNo;
+ private String studentName;
+ private String gender;
+ private Integer age;
+ private Integer classId; // 关联班级ID
+ private String phone;
+
+ public Student() {}
+
+ public Student(Integer studentId, String studentNo, String studentName, String gender, Integer age, Integer classId, String phone) {
+ this.studentId = studentId;
+ this.studentNo = studentNo;
+ this.studentName = studentName;
+ this.gender = gender;
+ this.age = age;
+ this.classId = classId;
+ this.phone = phone;
+ }
+
+ public Integer getStudentId() {
+ return studentId;
+ }
+
+ public void setStudentId(Integer studentId) {
+ this.studentId = studentId;
+ }
+
+ public String getStudentNo() {
+ return studentNo;
+ }
+
+ public void setStudentNo(String studentNo) {
+ this.studentNo = studentNo;
+ }
+
+ public String getStudentName() {
+ return studentName;
+ }
+
+ public void setStudentName(String studentName) {
+ this.studentName = studentName;
+ }
+
+ public String getGender() {
+ return gender;
+ }
+
+ public void setGender(String gender) {
+ this.gender = gender;
+ }
+
+ public Integer getAge() {
+ return age;
+ }
+
+ public void setAge(Integer age) {
+ this.age = age;
+ }
+
+ public Integer getClassId() {
+ return classId;
+ }
+
+ public void setClassId(Integer classId) {
+ this.classId = classId;
+ }
+
+ public String getPhone() {
+ return phone;
+ }
+
+ public void setPhone(String phone) {
+ this.phone = phone;
+ }
+
+ @Override
+ public String toString() {
+ return "Student{" +
+ "studentId=" + studentId +
+ ", studentNo='" + studentNo + '\'' +
+ ", studentName='" + studentName + '\'' +
+ ", gender='" + gender + '\'' +
+ ", age=" + age +
+ ", classId=" + classId +
+ ", phone='" + phone + '\'' +
+ '}';
+ }
+}
\ No newline at end of file
diff --git a/grademanagement-MyBatisProject/src/com/ssm/test/Test.java b/grademanagement-MyBatisProject/src/com/ssm/test/Test.java
deleted file mode 100644
index a55954e..0000000
--- a/grademanagement-MyBatisProject/src/com/ssm/test/Test.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package com.ssm.test;
-import java.io.IOException;
-
-public class Test {
-
- public static void main(String[] args) throws IOException {
-
- }
-}
-
-
-
diff --git a/grademanagement-MyBatisProject/src/com/ssm/test/TestMyBatis.java b/grademanagement-MyBatisProject/src/com/ssm/test/TestMyBatis.java
new file mode 100644
index 0000000..e823a00
--- /dev/null
+++ b/grademanagement-MyBatisProject/src/com/ssm/test/TestMyBatis.java
@@ -0,0 +1,22 @@
+package com.ssm.test;
+
+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.IOException;
+import java.io.Reader;
+
+public class TestMyBatis {
+ public static void main(String[] args) throws IOException {
+ Reader reader = Resources.getResourceAsReader("config.xml");
+ //SqlSession工厂对象
+ SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(reader);
+ //SqlSession对象:代表了和数据库的一次对话
+ SqlSession session = factory.openSession();
+ System.out.println("MyBatis入门成功!");
+ //关闭链接
+ session.close();
+ }
+}
diff --git a/grademanagement-MyBatisProject/src/config.xml b/grademanagement-MyBatisProject/src/config.xml
index 3b5222d..6c151f8 100644
--- a/grademanagement-MyBatisProject/src/config.xml
+++ b/grademanagement-MyBatisProject/src/config.xml
@@ -1,8 +1,30 @@
-
+
-
-
+ PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
+ "http://mybatis.org/dtd/mybatis-3-config.dtd">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/grademanagement-MyBatisProject/src/ssm_score_sys.sql b/grademanagement-MyBatisProject/src/ssm_score_sys.sql
new file mode 100644
index 0000000..7c55b27
--- /dev/null
+++ b/grademanagement-MyBatisProject/src/ssm_score_sys.sql
@@ -0,0 +1,136 @@
+-- 1. 创建数据库(按作业命名规则:库名=ssm_工程名,这里示例ssm_score_sys)
+CREATE DATABASE IF NOT EXISTS ssm_score_sys DEFAULT CHARSET utf8mb4;
+USE ssm_score_sys;
+
+-- 删除已存在的表(注意顺序,先删子表再删父表)
+DROP TABLE IF EXISTS notice;
+DROP TABLE IF EXISTS student;
+DROP TABLE IF EXISTS class;
+DROP TABLE IF EXISTS major;
+DROP TABLE IF EXISTS department;
+
+-- ==============================================
+-- 模块1:院系管理(组员1)
+-- ==============================================
+CREATE TABLE department (
+ dept_id INT PRIMARY KEY AUTO_INCREMENT COMMENT '院系ID',
+ dept_name VARCHAR(50) NOT NULL COMMENT '院系名称',
+ dept_code VARCHAR(20) UNIQUE COMMENT '院系编码',
+ dept_phone VARCHAR(20) COMMENT '联系电话',
+ dept_address VARCHAR(100) COMMENT '院系地址'
+);
+
+-- 插入10条数据
+INSERT INTO department(dept_name, dept_code, dept_phone, dept_address) VALUES
+ ('信息工程学院', 'IE001', '024-12345678', '实训楼A座3楼'),
+ ('机械工程学院', 'ME002', '024-87654321', '实训楼B座1楼'),
+ ('电气工程学院', 'EE003', '024-11112222', '实训楼A座5楼'),
+ ('自动化学院', 'AU004', '024-33334444', '实训楼C座2楼'),
+ ('计算机学院', 'CS005', '024-55556666', '实训楼D座4楼'),
+ ('管理学院', 'MA006', '024-77778888', '行政楼2楼'),
+ ('外语学院', 'FL007', '024-99990000', '教学楼E座6楼'),
+ ('艺术学院', 'AR008', '024-12348765', '艺术楼1楼'),
+ ('土木学院', 'CE009', '024-43215678', '实训楼B座4楼'),
+ ('材料学院', 'MT010', '024-87651234', '实训楼A座7楼');
+
+-- ==============================================
+-- 模块2:专业管理(组员2,与院系关联)
+-- ==============================================
+CREATE TABLE major (
+ major_id INT PRIMARY KEY AUTO_INCREMENT COMMENT '专业ID',
+ major_name VARCHAR(50) NOT NULL COMMENT '专业名称',
+ major_code VARCHAR(20) UNIQUE COMMENT '专业编码',
+ dept_id INT COMMENT '所属院系ID(外键关联department.dept_id)',
+ study_year INT COMMENT '学制(年)',
+ FOREIGN KEY (dept_id) REFERENCES department(dept_id)
+);
+
+-- 插入10条数据
+INSERT INTO major(major_name, major_code, dept_id, study_year) VALUES
+ ('自动化', 'ZDH01', 1, 4),
+ ('电气工程及其自动化', 'DQGC02', 3, 4),
+ ('机械设计制造及其自动化', 'JXSJ03', 2, 4),
+ ('计算机科学与技术', 'JSJK04', 5, 4),
+ ('软件工程', 'RJGC05', 5, 4),
+ ('电子信息工程', 'DZXX06', 1, 4),
+ ('土木工程', 'TMGC07', 9, 4),
+ ('材料成型及控制工程', 'CLXC08', 10, 4),
+ ('英语', 'YY09', 7, 4),
+ ('财务管理', 'CWGL10', 6, 4);
+
+-- ==============================================
+-- 模块3:班级管理(关联专业,为学生表做外键)
+-- ==============================================
+CREATE TABLE class (
+ class_id INT PRIMARY KEY AUTO_INCREMENT COMMENT '班级ID',
+ class_name VARCHAR(50) NOT NULL COMMENT '班级名称',
+ major_id INT COMMENT '所属专业ID(外键关联major.major_id)',
+ grade VARCHAR(10) COMMENT '年级',
+ class_teacher VARCHAR(50) COMMENT '班主任姓名',
+ FOREIGN KEY (major_id) REFERENCES major(major_id)
+);
+
+-- 插入10条数据
+INSERT INTO class(class_name, major_id, grade, class_teacher) VALUES
+ ('自动化2班', 1, '2023', '王老师'),
+ ('电气1班', 2, '2023', '李老师'),
+ ('机械1班', 3, '2023', '张老师'),
+ ('计算机1班', 4, '2023', '刘老师'),
+ ('软件工程1班', 5, '2023', '陈老师'),
+ ('电子信息1班', 6, '2023', '赵老师'),
+ ('土木1班', 7, '2023', '孙老师'),
+ ('材料1班', 8, '2023', '周老师'),
+ ('英语1班', 9, '2023', '吴老师'),
+ ('财务管理1班', 10, '2023', '郑老师');
+
+-- ==============================================
+-- 模块4:学生管理(组长,与班级关联)
+-- ==============================================
+CREATE TABLE student (
+ student_id INT PRIMARY KEY AUTO_INCREMENT COMMENT '学生ID',
+ student_no VARCHAR(20) UNIQUE NOT NULL COMMENT '学号',
+ student_name VARCHAR(50) NOT NULL COMMENT '姓名',
+ gender VARCHAR(4) COMMENT '性别',
+ age INT COMMENT '年龄',
+ class_id INT COMMENT '所属班级ID(外键关联class.class_id)',
+ phone VARCHAR(20) COMMENT '联系电话',
+ FOREIGN KEY (class_id) REFERENCES class(class_id)
+);
+
+-- 插入10条数据
+INSERT INTO student(student_no, student_name, gender, age, class_id, phone) VALUES
+ ('2023001', '张三', '男', 20, 1, '13800138001'),
+ ('2023002', '李四', '女', 19, 1, '13800138002'),
+ ('2023003', '王五', '男', 20, 2, '13800138003'),
+ ('2023004', '赵六', '女', 19, 3, '13800138004'),
+ ('2023005', '孙七', '男', 20, 4, '13800138005'),
+ ('2023006', '周八', '女', 19, 5, '13800138006'),
+ ('2023007', '吴九', '男', 20, 6, '13800138007'),
+ ('2023008', '郑十', '女', 19, 7, '13800138008'),
+ ('2023009', '钱十一', '男', 20, 8, '13800138009'),
+ ('2023010', '陈十二', '女', 19, 9, '13800138010');
+
+-- ==============================================
+-- 模块5:公告栏管理(组员3)
+-- ==============================================
+CREATE TABLE notice (
+ notice_id INT PRIMARY KEY AUTO_INCREMENT COMMENT '公告ID',
+ title VARCHAR(100) NOT NULL COMMENT '公告标题',
+ content TEXT COMMENT '公告内容',
+ publish_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '发布时间',
+ publisher VARCHAR(50) COMMENT '发布人',
+ status INT DEFAULT 1 COMMENT '状态(1:发布 0:下架)'
+);
+
+-- 插入10条数据
+INSERT INTO notice(title, content, publisher, status) VALUES
+ ('2023级开学通知', '请全体同学9月1日返校报到,携带身份证和录取通知书。', '教务处', 1),
+ ('选课系统维护通知', '系统将于8月20日-22日维护,暂停选课服务。', '信息中心', 1),
+ ('实训安全须知', '实训期间必须穿戴劳保用品,遵守实验室安全规定。', '实训中心', 1),
+ ('奖学金评定通知', '本学期奖学金评定工作开始,请符合条件的同学提交申请。', '学生处', 1),
+ ('运动会报名通知', '学校第15届运动会将于10月举行,各班开始报名。', '体育部', 1),
+ ('图书馆闭馆通知', '图书馆将于9月15日闭馆整理图书,暂停借阅服务。', '图书馆', 1),
+ ('四六级考试报名', '2023年下半年四六级考试报名已开始,请按时报名。', '外语学院', 1),
+ ('停电检修通知', '9月10日上午8:00-12:00,教学楼停电检修,请提前准备。', '后勤处', 1),
+ ('新生军训安排', '2023级新生军训将于9月5日开始,为期14天。', '武装部', 1),
+ ('疫情防控提醒', '请全体同学做好个人防护,坚持每日健康打卡。', '校医院', 1);
\ No newline at end of file
diff --git a/grademanagement/src/db.properties b/grademanagement/src/db.properties
index 7449703..47a6dc0 100644
--- a/grademanagement/src/db.properties
+++ b/grademanagement/src/db.properties
@@ -1,4 +1,4 @@
driver=com.mysql.cj.jdbc.Driver
-url=jdbc:mysql://localhost:3306/ssm_farm?serverTimezone=Asia/Shanghai
+url=jdbc:mysql://localhost:3306/ssm_score_sys?serverTimezone=Asia/Shanghai
user=root
password=root
\ No newline at end of file
diff --git a/out/production/grademanagement-SpringProject/com/ssm/di/TestDi.class b/out/production/grademanagement-SpringProject/com/ssm/di/TestDi.class
index 2e54b24..6a35c22 100644
Binary files a/out/production/grademanagement-SpringProject/com/ssm/di/TestDi.class and b/out/production/grademanagement-SpringProject/com/ssm/di/TestDi.class differ
diff --git a/out/production/grademanagement-SpringProject/com/ssm/ioc/TestIoc.class b/out/production/grademanagement-SpringProject/com/ssm/ioc/TestIoc.class
index 238ac5a..c6f5538 100644
Binary files a/out/production/grademanagement-SpringProject/com/ssm/ioc/TestIoc.class and b/out/production/grademanagement-SpringProject/com/ssm/ioc/TestIoc.class differ