From af0e9ae005d6c02b5854b3ab3d3453ec6f68ac44 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=88=98=E6=80=9D=E6=99=97?= <3428954377@qq.com>
Date: Thu, 21 May 2026 19:38:35 +0800
Subject: [PATCH] =?UTF-8?q?=E4=BB=BB=E5=8A=A110?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.idea/dataSources.xml | 5 ++
.idea/sqldialects.xml | 6 ++
.../src/com/ssm/entity/Class.java | 49 ++++++++++++++
.../src/com/ssm/mapper/ClassMapper.java | 7 ++
.../src/com/ssm/mapper/ClassMapper.xml | 40 +++++++++++-
.../src/com/ssm/mapper/CourseMapper.xml | 12 +++-
.../src/com/ssm/test/TestMyBatis.java | 38 ++++++++++-
grademanagement-MyBatisProject/src/config.xml | 1 +
grademanagement/initial.sql | 64 ++++++++++++-------
9 files changed, 194 insertions(+), 28 deletions(-)
create mode 100644 .idea/sqldialects.xml
diff --git a/.idea/dataSources.xml b/.idea/dataSources.xml
index fefc9eb..29275a4 100644
--- a/.idea/dataSources.xml
+++ b/.idea/dataSources.xml
@@ -6,6 +6,11 @@
true
com.mysql.cj.jdbc.Driver
jdbc:mysql://localhost:3306
+
+
+
+
+
$ProjectFileDir$
diff --git a/.idea/sqldialects.xml b/.idea/sqldialects.xml
new file mode 100644
index 0000000..3e0893b
--- /dev/null
+++ b/.idea/sqldialects.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/grademanagement-MyBatisProject/src/com/ssm/entity/Class.java b/grademanagement-MyBatisProject/src/com/ssm/entity/Class.java
index daaf89a..f7ca7b0 100644
--- a/grademanagement-MyBatisProject/src/com/ssm/entity/Class.java
+++ b/grademanagement-MyBatisProject/src/com/ssm/entity/Class.java
@@ -5,6 +5,28 @@ public class Class {
private String className; // 班级名称
private String grade; // 年级
private String major; // 专业
+ private String teacher; // 班主任
+ private Integer studentCount; // 学生人数
+ private String description; // 班级描述
+
+ // 无参构造函数
+ public Class() {
+ }
+
+ // 带部分参数的构造函数(用于添加)
+ public Class(String className, String grade, String major) {
+ this.className = className;
+ this.grade = grade;
+ this.major = major;
+ }
+
+ // 带ID的完整构造函数(用于更新)
+ public Class(Integer classId, String className, String grade, String major) {
+ this.classId = classId;
+ this.className = className;
+ this.grade = grade;
+ this.major = major;
+ }
public Integer getClassId() {
return classId;
@@ -38,6 +60,30 @@ public class Class {
this.major = major;
}
+ public String getTeacher() {
+ return teacher;
+ }
+
+ public void setTeacher(String teacher) {
+ this.teacher = teacher;
+ }
+
+ public Integer getStudentCount() {
+ return studentCount;
+ }
+
+ public void setStudentCount(Integer studentCount) {
+ this.studentCount = studentCount;
+ }
+
+ public String getDescription() {
+ return description;
+ }
+
+ public void setDescription(String description) {
+ this.description = description;
+ }
+
@Override
public String toString() {
@@ -46,6 +92,9 @@ public class Class {
", className='" + className + '\'' +
", grade='" + grade + '\'' +
", major='" + major + '\'' +
+ ", teacher='" + teacher + '\'' +
+ ", studentCount=" + studentCount +
+ ", description='" + description + '\'' +
'}';
}
diff --git a/grademanagement-MyBatisProject/src/com/ssm/mapper/ClassMapper.java b/grademanagement-MyBatisProject/src/com/ssm/mapper/ClassMapper.java
index 97ab5ec..eca7cb2 100644
--- a/grademanagement-MyBatisProject/src/com/ssm/mapper/ClassMapper.java
+++ b/grademanagement-MyBatisProject/src/com/ssm/mapper/ClassMapper.java
@@ -1,8 +1,15 @@
package com.ssm.mapper;
+import com.ssm.entity.Class;
+
import java.util.List;
public interface ClassMapper {
Class getClassById(Integer classId);
List getAllClasses();
+ void addClass(Class classEntity);
+ void updateClass(Class classEntity);
+ void deleteClassById(Integer classId);
+
+ Integer countTotlePage();
}
diff --git a/grademanagement-MyBatisProject/src/com/ssm/mapper/ClassMapper.xml b/grademanagement-MyBatisProject/src/com/ssm/mapper/ClassMapper.xml
index 0cf4597..e8a8c2a 100644
--- a/grademanagement-MyBatisProject/src/com/ssm/mapper/ClassMapper.xml
+++ b/grademanagement-MyBatisProject/src/com/ssm/mapper/ClassMapper.xml
@@ -3,14 +3,50 @@
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-
\ No newline at end of file
diff --git a/grademanagement-MyBatisProject/src/com/ssm/mapper/CourseMapper.xml b/grademanagement-MyBatisProject/src/com/ssm/mapper/CourseMapper.xml
index 16cee5c..1ea78fd 100644
--- a/grademanagement-MyBatisProject/src/com/ssm/mapper/CourseMapper.xml
+++ b/grademanagement-MyBatisProject/src/com/ssm/mapper/CourseMapper.xml
@@ -3,15 +3,23 @@
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+
+
+
+
+
+
+
+
-
+
SELECT courseId, coursename, credit, teacher
FROM course
WHERE courseId = #{courseId}
-
+
SELECT courseId, coursename, credit, teacher
FROM course
ORDER BY courseId
diff --git a/grademanagement-MyBatisProject/src/com/ssm/test/TestMyBatis.java b/grademanagement-MyBatisProject/src/com/ssm/test/TestMyBatis.java
index 0b3189c..f699b55 100644
--- a/grademanagement-MyBatisProject/src/com/ssm/test/TestMyBatis.java
+++ b/grademanagement-MyBatisProject/src/com/ssm/test/TestMyBatis.java
@@ -2,6 +2,7 @@ package com.ssm.test;
import com.ssm.entity.Course;
import com.ssm.entity.Score;
+import com.ssm.mapper.ClassMapper;
import com.ssm.mapper.CourseMapper;
import com.ssm.mapper.ScoreMapper;
import org.apache.ibatis.io.Resources;
@@ -22,7 +23,39 @@ public class TestMyBatis {
// 使用正确的变量名 sqlSession
CourseMapper courseMapper = sqlSession.getMapper(CourseMapper.class);
+ ClassMapper classMapper = sqlSession.getMapper(ClassMapper.class);
+ // ========== Class模块测试 ==========
+ //测试查询所有班级
+ System.out.println("\n=== 组长刘思晗:所有班级列表 ===");
+ List classes = classMapper.getAllClasses();
+ for (com.ssm.entity.Class c : classes) {
+ System.out.println(c);
+ }
+
+ // 测试查询单个班级
+ System.out.println("\n=== 查询班级ID=1 ===");
+ com.ssm.entity.Class cls = classMapper.getClassById(1);
+ System.out.println(cls);
+
+ // 测试添加班级
+ System.out.println("\n=== 添加班级 ===");
+ com.ssm.entity.Class newClass = new com.ssm.entity.Class("软件工程", "2024-2025", "软件工程");
+ classMapper.addClass(newClass);
+ System.out.println("添加成功:" + newClass);
+
+ // 测试更新班级
+ System.out.println("\n=== 测试更新班级 ===");
+ cls = new com.ssm.entity.Class(1, "软件工程", "2024-2025", "软件工程");
+ classMapper.updateClass(cls);
+ System.out.println("更新成功:" + cls);
+
+ // 班级总数
+ System.out.println("\n=== 统计班级总数 ===");
+ Integer totalCount = classMapper.countTotlePage();
+ System.out.println("总记录数:" + totalCount);
+
+ // ========== Course模块测试 ==========
// 测试查询单个课程
System.out.println("\n=== 成员吕淼 查询课程ID=1 ===");
Course course = courseMapper.getCourseById(1);
@@ -35,6 +68,7 @@ public class TestMyBatis {
System.out.println(c);
}
+
// ========== Score模块测试 ==========
ScoreMapper scoreMapper = sqlSession.getMapper(ScoreMapper.class);
@@ -74,8 +108,8 @@ public class TestMyBatis {
// 测试统计总数
System.out.println("\n=== 成绩总数 ===");
- Integer totalCount = scoreMapper.countTotlePage();
- System.out.println("总记录数:" + totalCount);
+ Integer totalScoreCount = scoreMapper.countTotlePage();
+ System.out.println("总记录数:" + totalScoreCount);
// 测试删除成绩(可选,注释掉以避免数据丢失)
// System.out.println("\n=== 删除成绩 ===");
diff --git a/grademanagement-MyBatisProject/src/config.xml b/grademanagement-MyBatisProject/src/config.xml
index ab95c90..b099525 100644
--- a/grademanagement-MyBatisProject/src/config.xml
+++ b/grademanagement-MyBatisProject/src/config.xml
@@ -25,5 +25,6 @@
+
\ No newline at end of file
diff --git a/grademanagement/initial.sql b/grademanagement/initial.sql
index f01645c..e477eda 100644
--- a/grademanagement/initial.sql
+++ b/grademanagement/initial.sql
@@ -2,28 +2,6 @@
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
--- ----------------------------
--- Table structure for demo
--- ----------------------------
-DROP TABLE IF EXISTS `demo`;
-CREATE TABLE `demo` (
- `did` int(11) NOT NULL AUTO_INCREMENT,
- `dname` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
- `comment` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
- PRIMARY KEY (`did`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 27 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compact;
-
--- ----------------------------
--- Records of demo
--- ----------------------------
-INSERT INTO `demo` VALUES (20, '1', '1111');
-INSERT INTO `demo` VALUES (21, '2', '222');
-INSERT INTO `demo` VALUES (22, '3', '333');
-INSERT INTO `demo` VALUES (23, '4', '444');
-INSERT INTO `demo` VALUES (24, '5', '555');
-INSERT INTO `demo` VALUES (25, '6', '666');
-INSERT INTO `demo` VALUES (26, '7', '777');
-
-- ----------------------------
-- Table structure for course
-- ----------------------------
@@ -42,4 +20,46 @@ CREATE TABLE `course` (
INSERT INTO `course` VALUES (1, '英语', 0, '张华');
INSERT INTO `course` VALUES (2, 'C语言', 1, '李磊');
+-- ----------------------------
+-- Table structure for score
+-- ----------------------------
+DROP TABLE IF EXISTS `score`;
+CREATE TABLE `score` (
+ `scoreId` int(11) NOT NULL AUTO_INCREMENT,
+ `studentName` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
+ `studentNo` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
+ `courseName` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
+ `score` double NULL DEFAULT NULL,
+ `semester` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
+ `comment` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
+ PRIMARY KEY (`scoreId`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compact;
+
+-- ----------------------------
+-- Records of score
+-- ----------------------------
+INSERT INTO `score` VALUES (1, '张三', '2021001', 'Java程序设计', 95.5, '2024-2025学年第一学期', '优秀');
+INSERT INTO `score` VALUES (2, '李四', '2021002', 'C语言', 88.0, '2024-2025学年第一学期', '良好');
+
+-- ----------------------------
+-- Table structure for class
+-- ----------------------------
+DROP TABLE IF EXISTS `class`;
+CREATE TABLE `class` (
+ `classId` int(11) NOT NULL AUTO_INCREMENT,
+ `className` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
+ `grade` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
+ `major` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
+ `teacher` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
+ `studentCount` int(11) NULL DEFAULT NULL,
+ `description` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
+ PRIMARY KEY (`classId`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compact;
+
+-- ----------------------------
+-- Records of class
+-- ----------------------------
+INSERT INTO `class` VALUES (1, '计算机科学与技术1班', 2021, '计算机科学与技术', '王教授', 45, '优秀班级');
+INSERT INTO `class` VALUES (2, '软件工程2班', 2021, '软件工程', '李教授', 42, '良好班级');
+
SET FOREIGN_KEY_CHECKS = 1;