main
刘思晗 1 week ago
parent 463bd833c0
commit af0e9ae005

@ -6,6 +6,11 @@
<synchronize>true</synchronize>
<jdbc-driver>com.mysql.cj.jdbc.Driver</jdbc-driver>
<jdbc-url>jdbc:mysql://localhost:3306</jdbc-url>
<jdbc-additional-properties>
<property name="com.intellij.clouds.kubernetes.db.host.port" />
<property name="com.intellij.clouds.kubernetes.db.enabled" value="false" />
<property name="com.intellij.clouds.kubernetes.db.container.port" />
</jdbc-additional-properties>
<working-dir>$ProjectFileDir$</working-dir>
</data-source>
</component>

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="SqlDialectMappings">
<file url="file://$PROJECT_DIR$/grademanagement/initial.sql" dialect="MySQL" />
</component>
</project>

@ -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 + '\'' +
'}';
}

@ -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<Class> getAllClasses();
void addClass(Class classEntity);
void updateClass(Class classEntity);
void deleteClassById(Integer classId);
Integer countTotlePage();
}

@ -3,14 +3,50 @@
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ssm.mapper.ClassMapper">
<select id="getClassById" resultType="com.ssm.entity.ClassEntity">
<!-- 定义结果映射 -->
<resultMap id="ClassResultMap" type="com.ssm.entity.Class">
<id property="classId" column="classId"/>
<result property="className" column="className"/>
<result property="grade" column="grade"/>
<result property="major" column="major"/>
<result property="teacher" column="teacher"/>
<result property="studentCount" column="studentCount"/>
<result property="description" column="description"/>
</resultMap>
<select id="getClassById" resultMap="ClassResultMap">
SELECT classId, className, grade, major, teacher, studentCount, description
FROM class
WHERE classId = #{classId}
</select>
<select id="getAllClasses" resultType="com.ssm.entity.ClassEntity">
<select id="getAllClasses" resultMap="ClassResultMap">
SELECT classId, className, grade, major, teacher, studentCount, description
FROM class
ORDER BY classId
</select>
<!-- 添加班级 -->
<insert id="addClass" parameterType="com.ssm.entity.Class" useGeneratedKeys="true" keyProperty="classId">
INSERT INTO class(className, grade, major)
VALUES(#{className}, #{grade}, #{major})
</insert>
<!-- 更新班级 -->
<update id="updateClass" parameterType="com.ssm.entity.Class">
UPDATE class
SET className = #{className},
grade = #{grade},
major = #{major}
WHERE classId = #{classId}
</update>
<!-- 根据ID删除班级 -->
<delete id="deleteClassById" parameterType="Integer">
DELETE FROM class WHERE classId = #{classId}
</delete>
<!-- 统计班级总数 -->
<select id="countTotlePage" resultType="Integer">
SELECT COUNT(*) FROM class
</select>
</mapper>

@ -3,15 +3,23 @@
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ssm.mapper.CourseMapper">
<!-- 定义结果映射 -->
<resultMap id="CourseResultMap" type="com.ssm.entity.Course">
<id property="courseId" column="courseId"/>
<result property="courseName" column="coursename"/>
<result property="credit" column="credit"/>
<result property="teacher" column="teacher"/>
</resultMap>
<!-- 根据ID查询课程 -->
<select id="getCourseById" resultType="com.ssm.entity.Course">
<select id="getCourseById" resultMap="CourseResultMap">
SELECT courseId, coursename, credit, teacher
FROM course
WHERE courseId = #{courseId}
</select>
<!-- 查询所有课程 -->
<select id="getAllCourses" resultType="com.ssm.entity.Course">
<select id="getAllCourses" resultMap="CourseResultMap">
SELECT courseId, coursename, credit, teacher
FROM course
ORDER BY courseId

@ -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<com.ssm.entity.Class> 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=== 删除成绩 ===");

@ -25,5 +25,6 @@
<mappers>
<mapper resource="com/ssm/mapper/CourseMapper.xml"/>
<mapper resource="com/ssm/mapper/ScoreMapper.xml"/>
<mapper resource="com/ssm/mapper/ClassMapper.xml"/>
</mappers>
</configuration>

@ -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;

Loading…
Cancel
Save