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