From cd1dddb798b6b1917cb6c7a2e33d133267eb5986 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E8=B5=B5=E4=BA=9A=E9=B9=8F?=
<13666640+zhao-yapengaaa@user.noreply.gitee.com>
Date: Fri, 7 Nov 2025 11:30:56 +0800
Subject: [PATCH] =?UTF-8?q?=E7=9B=AE=E5=89=8D=E5=AE=8C=E6=88=90=E4=BA=86?=
=?UTF-8?q?=E6=89=80=E6=9C=89=E7=9A=84=E5=8A=9F=E8=83=BD=E6=B5=8B=E8=AF=95?=
=?UTF-8?q?=EF=BC=8C=E5=87=86=E5=A4=87=E8=BF=9B=E8=A1=8C=E4=BC=98=E5=8C=96?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.idea/.gitignore | 8 ++
.idea/compiler.xml | 21 ++++
.idea/encodings.xml | 6 ++
.idea/jarRepositories.xml | 20 ++++
.idea/misc.xml | 14 +++
.idea/vcs.xml | 6 ++
.mvn/wrapper/maven-wrapper.properties | 3 +
pom.xml | 94 ++++++++++++++++++
.../zyp/stusystem/StuSystemApplication.java | 13 +++
.../stusystem/config/MyBatisPlusConfig.java | 18 ++++
.../stusystem/controller/ClassController.java | 66 ++++++++++++
.../controller/StudentController.java | 63 ++++++++++++
.../cn/zyp/stusystem/entity/GradeClass.java | 27 +++++
.../java/cn/zyp/stusystem/entity/Student.java | 37 +++++++
.../cn/zyp/stusystem/mapper/ClassMapper.java | 10 ++
.../zyp/stusystem/mapper/StudentMapper.java | 9 ++
.../zyp/stusystem/service/ClassService.java | 14 +++
.../zyp/stusystem/service/StudentService.java | 12 +++
.../service/impl/ClassServiceImpl.java | 43 ++++++++
.../service/impl/StudentServiceImpl.java | 57 +++++++++++
src/main/resources/application.yaml | 13 +++
.../stusystem/StuSystemApplicationTests.java | 13 +++
target/classes/application.yaml | 13 +++
.../zyp/stusystem/StuSystemApplication.class | Bin 0 -> 748 bytes
.../stusystem/config/MyBatisPlusConfig.class | Bin 0 -> 1024 bytes
.../controller/ClassController.class | Bin 0 -> 4459 bytes
.../controller/StudentController.class | Bin 0 -> 4341 bytes
.../cn/zyp/stusystem/entity/GradeClass.class | Bin 0 -> 3972 bytes
.../cn/zyp/stusystem/entity/Student.class | Bin 0 -> 5668 bytes
.../cn/zyp/stusystem/mapper/ClassMapper.class | Bin 0 -> 391 bytes
.../zyp/stusystem/mapper/StudentMapper.class | Bin 0 -> 392 bytes
.../zyp/stusystem/service/ClassService.class | Bin 0 -> 590 bytes
.../stusystem/service/StudentService.class | Bin 0 -> 762 bytes
.../service/impl/ClassServiceImpl.class | Bin 0 -> 2300 bytes
.../service/impl/StudentServiceImpl.class | Bin 0 -> 5788 bytes
35 files changed, 580 insertions(+)
create mode 100644 .idea/.gitignore
create mode 100644 .idea/compiler.xml
create mode 100644 .idea/encodings.xml
create mode 100644 .idea/jarRepositories.xml
create mode 100644 .idea/misc.xml
create mode 100644 .idea/vcs.xml
create mode 100644 .mvn/wrapper/maven-wrapper.properties
create mode 100644 pom.xml
create mode 100644 src/main/java/cn/zyp/stusystem/StuSystemApplication.java
create mode 100644 src/main/java/cn/zyp/stusystem/config/MyBatisPlusConfig.java
create mode 100644 src/main/java/cn/zyp/stusystem/controller/ClassController.java
create mode 100644 src/main/java/cn/zyp/stusystem/controller/StudentController.java
create mode 100644 src/main/java/cn/zyp/stusystem/entity/GradeClass.java
create mode 100644 src/main/java/cn/zyp/stusystem/entity/Student.java
create mode 100644 src/main/java/cn/zyp/stusystem/mapper/ClassMapper.java
create mode 100644 src/main/java/cn/zyp/stusystem/mapper/StudentMapper.java
create mode 100644 src/main/java/cn/zyp/stusystem/service/ClassService.java
create mode 100644 src/main/java/cn/zyp/stusystem/service/StudentService.java
create mode 100644 src/main/java/cn/zyp/stusystem/service/impl/ClassServiceImpl.java
create mode 100644 src/main/java/cn/zyp/stusystem/service/impl/StudentServiceImpl.java
create mode 100644 src/main/resources/application.yaml
create mode 100644 src/test/java/cn/zyp/stusystem/stusystem/StuSystemApplicationTests.java
create mode 100644 target/classes/application.yaml
create mode 100644 target/classes/cn/zyp/stusystem/StuSystemApplication.class
create mode 100644 target/classes/cn/zyp/stusystem/config/MyBatisPlusConfig.class
create mode 100644 target/classes/cn/zyp/stusystem/controller/ClassController.class
create mode 100644 target/classes/cn/zyp/stusystem/controller/StudentController.class
create mode 100644 target/classes/cn/zyp/stusystem/entity/GradeClass.class
create mode 100644 target/classes/cn/zyp/stusystem/entity/Student.class
create mode 100644 target/classes/cn/zyp/stusystem/mapper/ClassMapper.class
create mode 100644 target/classes/cn/zyp/stusystem/mapper/StudentMapper.class
create mode 100644 target/classes/cn/zyp/stusystem/service/ClassService.class
create mode 100644 target/classes/cn/zyp/stusystem/service/StudentService.class
create mode 100644 target/classes/cn/zyp/stusystem/service/impl/ClassServiceImpl.class
create mode 100644 target/classes/cn/zyp/stusystem/service/impl/StudentServiceImpl.class
diff --git a/.idea/.gitignore b/.idea/.gitignore
new file mode 100644
index 0000000..13566b8
--- /dev/null
+++ b/.idea/.gitignore
@@ -0,0 +1,8 @@
+# Default ignored files
+/shelf/
+/workspace.xml
+# Editor-based HTTP Client requests
+/httpRequests/
+# Datasource local storage ignored files
+/dataSources/
+/dataSources.local.xml
diff --git a/.idea/compiler.xml b/.idea/compiler.xml
new file mode 100644
index 0000000..f80780a
--- /dev/null
+++ b/.idea/compiler.xml
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/encodings.xml b/.idea/encodings.xml
new file mode 100644
index 0000000..63e9001
--- /dev/null
+++ b/.idea/encodings.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml
new file mode 100644
index 0000000..712ab9d
--- /dev/null
+++ b/.idea/jarRepositories.xml
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
new file mode 100644
index 0000000..82dbec8
--- /dev/null
+++ b/.idea/misc.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 0000000..94a25f7
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.mvn/wrapper/maven-wrapper.properties b/.mvn/wrapper/maven-wrapper.properties
new file mode 100644
index 0000000..c0bcafe
--- /dev/null
+++ b/.mvn/wrapper/maven-wrapper.properties
@@ -0,0 +1,3 @@
+wrapperVersion=3.3.4
+distributionType=only-script
+distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.11/apache-maven-3.9.11-bin.zip
diff --git a/pom.xml b/pom.xml
new file mode 100644
index 0000000..67c555d
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,94 @@
+
+
+ 4.0.0
+
+ org.springframework.boot
+ spring-boot-starter-parent
+ 3.5.7
+
+
+ cn.zyp.stuSystem
+ StuSystem
+ 0.0.1-SNAPSHOT
+ StuSystem
+ StuSystem
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 17
+
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+ org.mybatis.spring.boot
+ mybatis-spring-boot-starter
+ 3.0.5
+
+
+
+ com.mysql
+ mysql-connector-j
+ runtime
+
+
+ org.projectlombok
+ lombok
+ true
+
+
+ org.springframework.boot
+ spring-boot-starter-test
+ test
+
+
+ com.baomidou
+ mybatis-plus-boot-starter
+ 3.5.5
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+
+
+
+ org.projectlombok
+ lombok
+
+
+
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+
+ org.projectlombok
+ lombok
+
+
+
+
+
+
+
+
diff --git a/src/main/java/cn/zyp/stusystem/StuSystemApplication.java b/src/main/java/cn/zyp/stusystem/StuSystemApplication.java
new file mode 100644
index 0000000..b4f52ba
--- /dev/null
+++ b/src/main/java/cn/zyp/stusystem/StuSystemApplication.java
@@ -0,0 +1,13 @@
+package cn.zyp.stusystem;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+
+@SpringBootApplication
+public class StuSystemApplication {
+
+ public static void main(String[] args) {
+ SpringApplication.run(StuSystemApplication.class, args);
+ }
+
+}
diff --git a/src/main/java/cn/zyp/stusystem/config/MyBatisPlusConfig.java b/src/main/java/cn/zyp/stusystem/config/MyBatisPlusConfig.java
new file mode 100644
index 0000000..2fff08c
--- /dev/null
+++ b/src/main/java/cn/zyp/stusystem/config/MyBatisPlusConfig.java
@@ -0,0 +1,18 @@
+package cn.zyp.stusystem.config;
+
+import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
+import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+@Configuration
+public class MyBatisPlusConfig {
+
+ // 配置分页插件
+ @Bean
+ public MybatisPlusInterceptor mybatisPlusInterceptor() {
+ MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
+ interceptor.addInnerInterceptor(new PaginationInnerInterceptor());
+ return interceptor;
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/cn/zyp/stusystem/controller/ClassController.java b/src/main/java/cn/zyp/stusystem/controller/ClassController.java
new file mode 100644
index 0000000..5c5b3da
--- /dev/null
+++ b/src/main/java/cn/zyp/stusystem/controller/ClassController.java
@@ -0,0 +1,66 @@
+package cn.zyp.stusystem.controller;
+
+
+import cn.zyp.stusystem.entity.GradeClass;
+import cn.zyp.stusystem.service.ClassService;
+import org.apache.ibatis.annotations.Param;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+@RestController
+@RequestMapping("/api/class")
+public class ClassController {
+
+ @Autowired
+ private ClassService classService;
+
+ //根据年级查询班级列表
+ @GetMapping("/list")
+ public Map getClassList(@RequestParam Integer grade,@RequestParam(required = false) String name){
+ List gradeClasses = classService.findClassByGradeId(grade);
+ System.out.println(gradeClasses);
+
+ //过滤班级名称
+ if(name != null){
+ gradeClasses= gradeClasses.stream().filter(gradeClass -> gradeClass.getName().contains(name)).toList();
+ }
+ Map result = new HashMap<>();
+ result.put("data",gradeClasses);
+ return result;
+ }
+
+ //新增班级
+ @PostMapping("/add")
+ public boolean addClass(@RequestBody GradeClass gradeClass){
+ return classService.save(gradeClass);
+ }
+
+ //编辑班级
+ @PutMapping("/edit")
+ public boolean editClass(@RequestBody GradeClass gradeClass){
+ return classService.updateById(gradeClass);
+ }
+
+ //删除班级
+ @DeleteMapping("/delete/{id}")
+ public boolean deleteClass(@PathVariable Integer id){
+ if(classService.isClassHasStudent(id)){
+ return false;
+ }else {
+ return classService.removeById(id);
+ }
+ }
+
+ @GetMapping("/check")
+ //检查班级是否有学生
+ public Map checkClassHasStudent(@RequestParam Integer classId){
+ Map result = new HashMap<>();
+ result.put("data",classService.isClassHasStudent(classId));
+ return result;
+ }
+}
diff --git a/src/main/java/cn/zyp/stusystem/controller/StudentController.java b/src/main/java/cn/zyp/stusystem/controller/StudentController.java
new file mode 100644
index 0000000..2d831d6
--- /dev/null
+++ b/src/main/java/cn/zyp/stusystem/controller/StudentController.java
@@ -0,0 +1,63 @@
+package cn.zyp.stusystem.controller;
+
+
+import cn.zyp.stusystem.entity.Student;
+import cn.zyp.stusystem.service.StudentService;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.Map;
+
+@RestController
+@RequestMapping("/api/student")
+public class StudentController {
+
+ @Autowired
+ private StudentService studentService;
+
+ //获取学生列表
+ @GetMapping("/list")
+ public Map getStudentList(
+ @RequestParam Integer page, // 页码(从1开始)
+ @RequestParam Integer size, // 每页条数
+ @RequestParam Integer grade, // 年级(1-3)
+ @RequestParam(required = false) Long classId, // 班级ID
+ @RequestParam(required = false) String name
+ ){
+ IPage studentPage = studentService.selectPageStudent(page,size,grade,classId,name);
+ Map result = new HashMap<>();
+ result.put("list",studentPage.getRecords());
+ result.put("total",studentPage.getTotal());
+
+ //测试
+ System.out.println("后端返回的学生数据:" + result);
+
+ return result;
+ }
+
+ //新增学生
+ @PostMapping("/add")
+ public boolean addStudent(@RequestBody Student student){
+ return studentService.save(student);
+ }
+
+ //编辑学生
+ @PutMapping("/edit")
+ public boolean editStudent(@RequestBody Student student){
+ return studentService.updateById(student);
+ }
+
+ //删除学生
+ @DeleteMapping("/delete/{id}")
+ public boolean deleteStudent(@PathVariable String id){
+ if(id.contains(",")){
+ String[] ids = id.split(",");
+ return studentService.removeByIds(Arrays.asList(ids));
+ }else {
+ return studentService.removeById(id);
+ }
+ }
+}
diff --git a/src/main/java/cn/zyp/stusystem/entity/GradeClass.java b/src/main/java/cn/zyp/stusystem/entity/GradeClass.java
new file mode 100644
index 0000000..f7dbe7f
--- /dev/null
+++ b/src/main/java/cn/zyp/stusystem/entity/GradeClass.java
@@ -0,0 +1,27 @@
+package cn.zyp.stusystem.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@TableName("class")
+@AllArgsConstructor
+@NoArgsConstructor
+public class GradeClass {
+ @TableId(type = IdType.AUTO)
+ private Long id;
+
+ @TableField("name")
+ private String name;
+
+ @TableField("grade")
+ private Integer grade;
+
+ @TableField("head_teacher")
+ private String headTeacher;
+}
diff --git a/src/main/java/cn/zyp/stusystem/entity/Student.java b/src/main/java/cn/zyp/stusystem/entity/Student.java
new file mode 100644
index 0000000..e5493a8
--- /dev/null
+++ b/src/main/java/cn/zyp/stusystem/entity/Student.java
@@ -0,0 +1,37 @@
+package cn.zyp.stusystem.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import lombok.Data;
+
+@Data
+@TableName("student")
+public class Student {
+
+ @TableId(type = IdType.AUTO)
+ private Long id;
+
+ @TableField("name")
+ private String name;
+
+ @TableField("age")
+ private Integer age;
+
+ @TableField("gender")
+ private Integer gender;
+
+ @TableField("address")
+ private String address;
+
+ @TableField("grade")
+ private Integer grade;
+
+ @TableField("class_id")
+ private Long classId;
+
+ @TableField(exist = false)
+ private String className;
+}
diff --git a/src/main/java/cn/zyp/stusystem/mapper/ClassMapper.java b/src/main/java/cn/zyp/stusystem/mapper/ClassMapper.java
new file mode 100644
index 0000000..c6876ce
--- /dev/null
+++ b/src/main/java/cn/zyp/stusystem/mapper/ClassMapper.java
@@ -0,0 +1,10 @@
+package cn.zyp.stusystem.mapper;
+
+import cn.zyp.stusystem.entity.GradeClass;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+
+@Mapper
+public interface ClassMapper extends BaseMapper {
+}
diff --git a/src/main/java/cn/zyp/stusystem/mapper/StudentMapper.java b/src/main/java/cn/zyp/stusystem/mapper/StudentMapper.java
new file mode 100644
index 0000000..c8fb3a5
--- /dev/null
+++ b/src/main/java/cn/zyp/stusystem/mapper/StudentMapper.java
@@ -0,0 +1,9 @@
+package cn.zyp.stusystem.mapper;
+
+import cn.zyp.stusystem.entity.Student;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface StudentMapper extends BaseMapper {
+}
diff --git a/src/main/java/cn/zyp/stusystem/service/ClassService.java b/src/main/java/cn/zyp/stusystem/service/ClassService.java
new file mode 100644
index 0000000..85dfb23
--- /dev/null
+++ b/src/main/java/cn/zyp/stusystem/service/ClassService.java
@@ -0,0 +1,14 @@
+package cn.zyp.stusystem.service;
+
+import cn.zyp.stusystem.entity.GradeClass;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.List;
+
+public interface ClassService extends IService {
+ //根据年级查询班级
+ public List findClassByGradeId(Integer gradeId);
+
+ //查询班级是否还有学生
+ public boolean isClassHasStudent(Integer classId);
+}
diff --git a/src/main/java/cn/zyp/stusystem/service/StudentService.java b/src/main/java/cn/zyp/stusystem/service/StudentService.java
new file mode 100644
index 0000000..60109e5
--- /dev/null
+++ b/src/main/java/cn/zyp/stusystem/service/StudentService.java
@@ -0,0 +1,12 @@
+package cn.zyp.stusystem.service;
+
+import cn.zyp.stusystem.entity.Student;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+public interface StudentService extends IService {
+
+ //分页查询
+ IPage selectPageStudent(Integer page,Integer size,Integer grade,Long classId,String name);
+
+}
diff --git a/src/main/java/cn/zyp/stusystem/service/impl/ClassServiceImpl.java b/src/main/java/cn/zyp/stusystem/service/impl/ClassServiceImpl.java
new file mode 100644
index 0000000..a86d065
--- /dev/null
+++ b/src/main/java/cn/zyp/stusystem/service/impl/ClassServiceImpl.java
@@ -0,0 +1,43 @@
+package cn.zyp.stusystem.service.impl;
+
+
+import cn.zyp.stusystem.entity.GradeClass;
+import cn.zyp.stusystem.entity.Student;
+import cn.zyp.stusystem.mapper.ClassMapper;
+import cn.zyp.stusystem.mapper.StudentMapper;
+import cn.zyp.stusystem.service.ClassService;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import lombok.ConfigurationKeys;
+import lombok.Data;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+
+@Service
+public class ClassServiceImpl extends ServiceImpl implements ClassService {
+
+ @Autowired
+ private StudentMapper studentMapper;
+
+ @Override
+ public List findClassByGradeId(Integer gradeId) {
+ QueryWrapper queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("grade",gradeId);
+ return baseMapper.selectList(queryWrapper);
+ }
+
+ @Override
+ public boolean isClassHasStudent(Integer classId) {
+ QueryWrapper queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("class_id",classId);
+
+ return studentMapper.selectCount(queryWrapper)>0;
+ }
+}
diff --git a/src/main/java/cn/zyp/stusystem/service/impl/StudentServiceImpl.java b/src/main/java/cn/zyp/stusystem/service/impl/StudentServiceImpl.java
new file mode 100644
index 0000000..bccbfc2
--- /dev/null
+++ b/src/main/java/cn/zyp/stusystem/service/impl/StudentServiceImpl.java
@@ -0,0 +1,57 @@
+package cn.zyp.stusystem.service.impl;
+
+import cn.zyp.stusystem.entity.GradeClass;
+import cn.zyp.stusystem.entity.Student;
+import cn.zyp.stusystem.mapper.ClassMapper;
+import cn.zyp.stusystem.mapper.StudentMapper;
+import cn.zyp.stusystem.service.StudentService;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+
+@Service
+public class StudentServiceImpl extends ServiceImpl implements StudentService {
+
+ @Autowired
+ private ClassMapper classMapper;
+
+ @Override
+ public IPage selectPageStudent(Integer page, Integer size, Integer grade, Long classId, String name) {
+
+ //创建分页对象
+ IPage studentPage = new Page<>(page,size);
+
+ //构建查询条件
+ QueryWrapper queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq(grade != null, "grade", grade);
+ queryWrapper.eq(classId != null && classId > 0, "class_id", classId);
+ queryWrapper.like(name != null && !name.isEmpty(), "name", name);
+ studentPage = baseMapper.selectPage(studentPage, queryWrapper);
+
+ //关联查询班级名称
+ List students = studentPage.getRecords();
+ if (students != null && students.size() > 0) {
+ List classIds = students.stream().map(Student::getClassId).collect(Collectors.toList());
+ QueryWrapper classQueryWrapper = new QueryWrapper<>();
+ classQueryWrapper.in("id", classIds);
+ List classes = classMapper.selectList(classQueryWrapper);
+
+ //转换为Map
+ Map classMap = classes.stream().collect(Collectors.toMap(GradeClass::getId, GradeClass::getName));
+
+ students.forEach(student -> student.setClassName(classMap.get(student.getClassId())));
+
+
+ }
+ return studentPage;
+ }
+}
+
diff --git a/src/main/resources/application.yaml b/src/main/resources/application.yaml
new file mode 100644
index 0000000..eb8bbda
--- /dev/null
+++ b/src/main/resources/application.yaml
@@ -0,0 +1,13 @@
+spring:
+ datasource:
+ driver-class-name: com.mysql.cj.jdbc.Driver
+ url: jdbc:mysql://localhost:3306/student_management?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai
+ username: root
+ password: 123456
+
+# MyBatis-Plus ??
+mybatis-plus:
+ mapper-locations: classpath:mapper/*.xml # Mapper.xml ????
+ type-aliases-package: com.example.student.entity # ??????
+ configuration:
+ log-impl: org.apache.ibatis.logging.stdout.StdOutImpl # ??SQL?????????
\ No newline at end of file
diff --git a/src/test/java/cn/zyp/stusystem/stusystem/StuSystemApplicationTests.java b/src/test/java/cn/zyp/stusystem/stusystem/StuSystemApplicationTests.java
new file mode 100644
index 0000000..c5ad284
--- /dev/null
+++ b/src/test/java/cn/zyp/stusystem/stusystem/StuSystemApplicationTests.java
@@ -0,0 +1,13 @@
+package cn.zyp.stusystem.stusystem;
+
+import org.junit.jupiter.api.Test;
+import org.springframework.boot.test.context.SpringBootTest;
+
+@SpringBootTest
+class StuSystemApplicationTests {
+
+ @Test
+ void contextLoads() {
+ }
+
+}
diff --git a/target/classes/application.yaml b/target/classes/application.yaml
new file mode 100644
index 0000000..eb8bbda
--- /dev/null
+++ b/target/classes/application.yaml
@@ -0,0 +1,13 @@
+spring:
+ datasource:
+ driver-class-name: com.mysql.cj.jdbc.Driver
+ url: jdbc:mysql://localhost:3306/student_management?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai
+ username: root
+ password: 123456
+
+# MyBatis-Plus ??
+mybatis-plus:
+ mapper-locations: classpath:mapper/*.xml # Mapper.xml ????
+ type-aliases-package: com.example.student.entity # ??????
+ configuration:
+ log-impl: org.apache.ibatis.logging.stdout.StdOutImpl # ??SQL?????????
\ No newline at end of file
diff --git a/target/classes/cn/zyp/stusystem/StuSystemApplication.class b/target/classes/cn/zyp/stusystem/StuSystemApplication.class
new file mode 100644
index 0000000000000000000000000000000000000000..2ca59af12b96d8635f83aaf218fce2afbd57d795
GIT binary patch
literal 748
zcma)4O;6k~5Pe>D$+9ekE-i&Z4?Q53J>Xj}Taen7IHfHjXnWw~1QQI2y>gtk^k4M^
z;?N(^AB7kPByz~1kuqb?$D8q+`FDT!7r;K=_0YmxfOa1p%rmT9iXVb!LZ|#&d?^#h
zF#l0$_~XRoU|0!i%e+~d8mAg8%@0LdCtgpTxzFs
zIaP)7Z`azmYAytF&`4P|3{g5m+*O>(r_p?-Db=_e<2?de8~?Sy{Nj*YrW+^CNOwjz
zV1Fw23Q6w;x#GTt%ghB`h;EPQ-h`M?xq3MRX!#
z$FTfRY2_X>l-r#_6*Y$4*rYrXCRIa|^K=pkr?T-V&$#^Pq|TJloYX|=j6a)t56OF=
zowTtWJ7WV>ebrTlrwd>yt)=CMf`F-_(Fb1t12sU|L$BAdfd)fU42SbU4EybH;iB^>
zJwJ*~hEA;cr^%RSF3%>JlPQmlK2{0!z2~Rm`|cMOhDzTICBsIjw0xeYk+g3_G$PAp
zXksxM2&=q4GgjPNl`(X~3s>kdv}R~yR%5s|7MK}tg7E6GW7oo=Ju;xJC(|T
z$`tj#tF>_jztsM{(Ab1$W2Y(*+R82ir8*wLzSaURO|q|kJ~;I+wV$M%(R++e{Y(KRc(8Q}^Rh;(-9)1RZA}wrpf#-F
X8m<%g4T|)|Zx-3N3VHk7dI$Ig_L?X;
literal 0
HcmV?d00001
diff --git a/target/classes/cn/zyp/stusystem/controller/ClassController.class b/target/classes/cn/zyp/stusystem/controller/ClassController.class
new file mode 100644
index 0000000000000000000000000000000000000000..8758c5ea4f6252e823d621c6fcc022af59d51466
GIT binary patch
literal 4459
zcmbVPYj+!072PAr9!s9Yu9~{F3&u@dYA1H4w26~edDM1j;^H_a3NCdEAIYNjlMZKom)+`qU-I*iw1
z(PU$(ANw(2V$i~EC>pr0D=7oTb;qk}40Ai@0#TIN`M2>4O
zI$>1G;{fh3F=XLR+|?G8vi6d(@EZ)x9kHO}+slFDMdc`vVyjfZ2<|rV9t-cqsDazH
z!S+1{%({|rJt|2+~#<-HviWfUL|sTj~>aYQxTD5{14%lH!g^J0S_VDhvRg&
zDk9O3hw+Gsl7*8vWnf=xKld_;b(O>u>4+rpPmyFdBYUS5FV9$b6tgrJifvN5V=hp=ytuB+t|s|O
z?;xu$<0B?kEIfga8aTM83W?c?c5Gd0+7~LV$!JMzF)#;qQ>b+¥W8Pnmey!pHFO
z_A=ANG|;EoiEzA7@jR7*`3(`2<+BaxRg{19{ZfPGx8#ZwI`nzg^ZZCC9#itfq94@k
zP!(KlJs_N`ez0k;(e2P)7nR5lc5KlUuxA^Qf7K!TOHAv$UnTm1MaPp%jjc5qTvj0^
zB^UjQa90Gw%yBZAi#8nEo8H^kZrv4W#A1|mz+$$~q#fN&d&>6?MN2kQPftyCIX0Zs
z=3RNZ;^{;bQ;Ufvg+NJa43Z8E#(SFGhPrzL88%#!av-%9n;mKo#ZG-U95bn{%C(bw
zq_Z*6wS3vBc_L~A
zjMLNqSD?E_bF?GvuF5rgjR#Yjapz=2&~?>{nMGZQeA}*Weh1r`-E^jn;xk>_x}>Tm
zjIkBwmWY6-b0LP*lpP4+KC%Va(D!xLCJ_g3Sky1JCRFs{fv+Red@Z@YFd^h5W
z!*hOhhyLbysKv!*p!)<5pC?YA^LZqvLP#*8dLfx8Sg~(^eIdvlr}5sf~M|Ck9Q%^btUxL8WoR6S8T0S
z#dx~mjX%)3FSM2T|2|-J=P#7~Mo^KDIjSum(4M#MoJZ7&f2$Lq6WK1YHd^8gN$10(
zv#74DR!$4Hs5`a}DSIkU+KBfhQIDHaIM9pl7w`l8(8P}{{1`vsnX2z6ItY%p?QcqZ
zQOAoCA~~o?JGQdc=%494B|@=*^TMmTG8|v@{mn+bly`rwv=-GaU8u{RzHJzWIH`r{Kuu+u*zB(3>#+$UhmZ@u`-<
zZZ3dy&Db<{Xg!v8{+|A4cH{tWZ*P3+5H=})+Q`UZxl{*IC9n|Pmrskd++
za1)amK5PR^f5k&jzKLUx;V5Jq`hAHxhC
zo5ewm>1b>>!9)bufTMAq#T9JQ3w2+1u|JXQ&iZ2Q>K0U|Yv=Kh0d_@42U7gxJ9~t`#$!c%FaM)4(TJ@d96;!i!X_0(FMc
zDkJ?#piXCSox^mjC$wJ*9k(_8>c^+?8LCovdJGQG#PC^8#~41RF_+-mT%6n})yecEex9`NZRA5|2j`k3X2fchQr*o(vaa99f<4{Y(UK6#H-t12~?-
zGtvyi2wu?%R%yz@7}$--E2)TlsR``MEnr{K5qTA_C7gYZ0F}A1goYQUiZd;Yf5C;A
zkW-3}X?Ul}jx%K9qZ-~=tfL8U46kc=eYi_=Eu*=nDkq)^7>*=|uTyc%r>{11+2YgJ
zTFA+#!GdZX)S^gqDhX-+@C}p?-N2J?r_g9Ba(P__ltMnCP!8YVD1&cmt403%7RTRi
f#_T&xP+aWaqjNvS&+tq9iZcc7_%(iu-(&c{tXH&Y
literal 0
HcmV?d00001
diff --git a/target/classes/cn/zyp/stusystem/controller/StudentController.class b/target/classes/cn/zyp/stusystem/controller/StudentController.class
new file mode 100644
index 0000000000000000000000000000000000000000..483135e81fc01af9c4ddd5e8f8f7eb64c6e3b67b
GIT binary patch
literal 4341
zcmcgv{dXKy8GdfQCfQ8Wu(gFyEiD9^v}s3?Lg|J=8z@ap>5{Ffw0_;}-fpIuompn?
zrfvaIKtcHsv?vq>Kk-}9;{k#m{oVhg)Zg?k@c7)>+1*)^N^*|JA9iN$=li_R``q`w
z`}cpp_g4US;a3@Sq1!@_jb8K#44;!r(($BUc23NnQ$;P%H|hGWJ}A&VHa<6iehgU1
z*cgN@u&3xd7wT0f(zU1_X;pEGfv>~B^Hk^*bgiU(J=N+F7~(|JS5V=STT}w$Gb?t8
z8e`4n$<*8+hOp7Xu#Ibw71+7PbpqE!%A+HBSyl-mfoI2N+Kx{9T9s9pTX)w?;Fr^@
z3OaPzL!W|*GcSXRTMBAUr9LmU8&$npM0P^uRFsw_siiY*Fy$h5p}QZ~3iNnxqz5sA>n&`x@lkwCU}8Nc1Ttl%XBDlNB7yAKc*E7$+zdA-xi?_D
zg&j6-#7zPl+GvP`k+0S$g#BsK8tO=UpY$YqrzDi?$ISx0I?&QHZtS!%hH-&@f;wqB
zV`&}BU^gZ#?6I*I4yDo#kl|UtT9RH(oj5D7Y3x|qN*sm(d;+&x_@s^7u&+bMg;nH(YlEC(mGMhD^yyF3ZDkhmHNXQ{dW)TvQZoQR-8!Uf@@xrLRfcO$h-pZzP71
zZi7sMpFs|j7Vfff5O))5JfYJXU8x$|o=-SwPMi9fGg?1n<1nTe{YWnHpma=ZQhnM?
zywAoFGci-EQdR13eY(_-qXJ?ggJbxVg&7;i@jxdhu~HcVb6lnC)48o_BvT7AEU1TT
z$}g(i_-V6I-o}HNWgMwwmqhMN&u=0>vl<~M@o5WlHcsI)O%O4Ihr&?SX}M2EMuY-4
zkEPc)om{EaA)K~x2A>re3{@pqihbrrBkA}|nIu%yZs5}a!_((&d;wo1Pwh4BC5#Xg
zjVnF(f}Hn^&m5br`P!|hIX80IcgXiCR^|I~trSd`*)jTS1V@hP^U<+*N3`V`$49J7)
zGBUX`ZoK|nU2k4*xq~#euhabGN>@`o$+jh%GBq!lF9jnnb-N
zkpfGDBm?g?x#?=R!fHXBrP$ibX<+pWW%Z@8RMS4ns%uJcQ&}@991a2<=}=Z1*&*84
zhaY6{I^MAGLsR4YNMN*`OI?2{SX4|$<|-p3mOV!r7nr~+=>(EYY;1Z|`Xx_AqccIU
zSgWSXz$B8Xgw?U|Bs1wM)6-h$y!hinGTCBEdS1cRiWTKg1a7$e;tN-P{ri9X?c(Lv
zUcYkbsms58^UB3H-hcV6_n-gWKmT$`2-wrUufi#Fxv0p(n=CO_IKG-c7JebH?Y~du
z?a^=^JNTcdD^3$#=3f!hg=DLb?|Hs^`Q~3MK8tKQd<)aN>m7(c@S_VQKFu&N48^C}
zz$`n9GT#CVaM?18|HXOzeCK!l3D)k3JtI9Mz026phXZ|o#-@kf!R7iSYYC3Kaco(}GeSgHqN38d7JMcCRj971R&+Zt<^|SzNLze#swqiRb=-fRR
zW&LB4W=OowSArouqxv=$YE_!_>>T@B=3
z!3J8;o@RFg+A}dU%V^*moFMScs~Wy{rQuuGYxvog;paYR_<6jLc>E|GG0_^|oxT5U
zOuvfj;*S%@4FePJqOgpIh$Z3Ua}8Jxxn$$u?#BS`q<9ZdIFm8N?c8vfCHJ@RV$9Nb
zi=}bAL?N&=p}}s5ZB4pfO40S57V3*_)Gu>F55CK17rqxWo8{LlY`@x?ehII!-Ou*-
T`TH?`%2tM7Kf}-QON{&n-dD&<
literal 0
HcmV?d00001
diff --git a/target/classes/cn/zyp/stusystem/entity/GradeClass.class b/target/classes/cn/zyp/stusystem/entity/GradeClass.class
new file mode 100644
index 0000000000000000000000000000000000000000..9136d3d369d1494cf757c8cfe94df36921eca6f5
GIT binary patch
literal 3972
zcmbtXU2h!K8Gg?0%+7v{?TwQ-teq0ThS+PH1)9>bjw!+9W2v2l*n~o8VZ1xo6YtI}
zJF}5o^}6a+C9Xh~xFr(G1t1b6E>L?zrT(VU^f~9u+Or=amMUdDXU_Ya=e*zV=HLJQ
z{s#c7=;n|@+Ja%jL`LA5x?lOze!CJz-EcpQ+*ZZ)BQM&oT<$mxcdhA!p+L%O2o%?E
zJ9nH))A4sI>w&+sBAK!_a>xr9zSD9ACKH&=sN=;b+r}8i1ao1@IoSaW^T-(0w)}xh$_ayj~jVDl&
zm$^}mdQZ+TB%n(3JZ5m(!Y^z*DQSy`hG`~&j4Q7RCErsvp2jo0oP5eD^715Q&jJaa
zv+*pR6R-%rs$6oS4;wp0Lg#HPNa#4BSCaP5V9~}BmU-o_6Yj1B(q-xSh1w(|Sh4W}
zUKBXha`xP{z^^;eJ6=SPA4ZNJF<7^fo>Ar|%#ZI+?DVuxY{j6YjR$(q;FmVe;a7Cg
zdC&KvSCwiv1xh!%Oq`Z`(+j=rrhCEngUE?I>LsweUJqK8Z6|1Xji6g;?Qc^Owwv9s
z;vC>ATMp0F8Y|4EXunOHmyUF-*4QFip1Sb%)-{0_j&w?0cFA*_@;>v9)9ms>Tjt#d
zkxo1kYS&M!d%kXc0LpzbtpIvr1{9B&%Yu18zv)*oL{ymBUXSIxgO!eNu^
z&7id%>{TwizT0skS7{mQgg!nL;05}>xZy^-LF2m9VcJD*hpJdSpp&q#T6*E-p)3(`
zPERFSdr2XQ$B9Ygr+^6h3q7trx-p1Yu)J4#VovsqtlCk_yxNQ#Ktb=vUpXbx9VD+M
z`lF}>iDn>hOw0TB#x^6TzPI7D<4Bm-Z`3v}QqdZ-wBv@|X2dL2T4d(pJIy(Lg+13t
zm5l=J9)UNL4*9?8h)&FJ2Hj5Gz2r5SW)sTgs<%EbTaQ5H=s7C`DpR(uTXXUCAc(@K
zeC8r(*oqd7Nk_N{>O?t)g8%;Ny
zTMvT0ZhK|8RU~%$4ywvb2;8i;AMV|
z@%?K)zj5&jsuXcd#-ak>D}2s}+)NQUJ}elcfTM6&u&U4;a0I+6=KtZ?pU@#8+IT
z@LT?sYJd!{@vp4`xPaIBwZ=zE-{6}L!E+;stU;m^k0s)W96?kVBs%q2BF@ASL=%HV
z(~l*(h)YN-A4&J8q}k=g`w(Aqm2^@;F->Vi>?G+T9m~r^n=CgJ2RwHLwNdoeQR#I)
z#Pqo#`Zw{rQS^nQ((9~>>BolX*GFqVaa4Mpn=$>dA$tC-(%OqZ)2{{k@SDZ*7ch-`
zi~mIG?=aK%7XN|N#!~qKCej3ZOuWRe1i>KWg(r!=eWiK<4-{R4cEDsMj3y_TU;5qj6K}o$|TywCRZ6WnV(x+
zS?DkW-{vZdPuNXva+SlU>?!YXmB;U?$IFBFsM;_OY&L1Bv^i$KHo(pwZdfJ_+mrYU-xf*R#g+5M
zstWSy;>s>VoGmWig|++u7Y49g^7hseR*7;N=}5Ah=eJTlO`K0N5L
zuhBj^DW+s-_{_>s@HzWEo(Be-t}X#RPo`oo_Ro`ZaN@jb(wiokr_0~rCDnM#OZQ=w
zm+zxcE*bYR)N966BR;239VFW{zx6bmRx?!Q>a-e~X|3+(V|A>fxB;cZrUgwp>2
DK0x=8
literal 0
HcmV?d00001
diff --git a/target/classes/cn/zyp/stusystem/entity/Student.class b/target/classes/cn/zyp/stusystem/entity/Student.class
new file mode 100644
index 0000000000000000000000000000000000000000..af124496319f9f19e3a6dc1744f386b2aab908a6
GIT binary patch
literal 5668
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
CMEU&y
literal 0
HcmV?d00001
diff --git a/target/classes/cn/zyp/stusystem/mapper/ClassMapper.class b/target/classes/cn/zyp/stusystem/mapper/ClassMapper.class
new file mode 100644
index 0000000000000000000000000000000000000000..31a5e6decfaca080a65d7148f94b0dc8982da307
GIT binary patch
literal 391
zcmb7=%}T^T49EYo>egKq_Uc*iXda*{sGygM;DYzG8|o~bnKB%AGo`;@7OkoI73>ofw@pRR32)AQiU|V6a<|n3(ZA*9c
zTAEm3sz8l1RI@XBbGcF{ZsI?`U4;~
z>NwDi=aq~U<$0+vU%KQQxz=4?y!b(P@_B>8;eE<;Mjmv~btf0rx|m^{4GPDV^DS}D
o&7+VW8Hv9eXv0?Ke<*Ba+sO|`&Wh|O*u`v&bL{0f&GmiY14N5?hX4Qo
literal 0
HcmV?d00001
diff --git a/target/classes/cn/zyp/stusystem/mapper/StudentMapper.class b/target/classes/cn/zyp/stusystem/mapper/StudentMapper.class
new file mode 100644
index 0000000000000000000000000000000000000000..8db8da8c875379bc9538811908593ba07c1b257a
GIT binary patch
literal 392
zcmb7=K~BRk5JkTWG_-((*!2Kq$s8bn1PfL{NJL`qq(g8O+fi&Ig`=_H02~T2q^c0G
zVlf_DGxPo5ynnpD0l2_XhKa(mcJwlI6k-ZPh-}H~uH&A{m{#oK?fA;Dt8l#5&zf58
z8oI02T*nMk1**NJN_%ToK9LcI{^2=OdUi#G6d}CVq_2dWK*_Q={#eI@7%MT`)s^u%^d=wV%g2HLx`-XI<
o>nA2NB9i`Ypbc6s>rmK{*pm%IZke1D>|-|OISwRGrG5x}0!}7+cmMzZ
literal 0
HcmV?d00001
diff --git a/target/classes/cn/zyp/stusystem/service/ClassService.class b/target/classes/cn/zyp/stusystem/service/ClassService.class
new file mode 100644
index 0000000000000000000000000000000000000000..62d2745a4e18628cc8469890f54635da661307a7
GIT binary patch
literal 590
zcmbVK%TB{E5L_2ZpuE~5@drq7!3T~34j=&)K_KPE%}tizDsifKT@gNw10TRgAvR8V
zNN}h)Sk~-VJF~NXdw+QafD_mWpd(-}G4i>dN=wexmavc(tC>zvp6ANixCH?$3+PYO
zOvzlCOx}(sm{0&K0*;chkYiOAIxU?n>aikir@6Bdp9qcBrTJ<(nzs`$e9$KK3TO3Y
zrBWQF>}5atmKYhr46E>+T6nEADJy|vlo}H
zO7KGGoWQ_4p2vRJq{}N4u*9d!zo5fw4PX^Iu*Rq>pvTvGL%;@8o3OQ;0hy^
z0hm-iLLu3eZbm5;vu{HVXtAw29$Z5RxpQ&{yOC*&kQZicnDdcHyknU_YQciIW
zofpuaa*B=Db2gpasf=xq7Rvi50=kLLjiSo&`SJhEbP@j`n+eube{daM@z|4<
zg*PmR>o>Qa;omjuCAM-YUh9HaHT*8QvxOE|UjjB59Tu%%4F<3UE$Fg$)PWwGZN?5`
Um$Ap#XSATtXift-c#jO<04V13BLDyZ
literal 0
HcmV?d00001
diff --git a/target/classes/cn/zyp/stusystem/service/impl/ClassServiceImpl.class b/target/classes/cn/zyp/stusystem/service/impl/ClassServiceImpl.class
new file mode 100644
index 0000000000000000000000000000000000000000..9f1f0a84d9e145578371f55fb9b30a8bbc9da7f5
GIT binary patch
literal 2300
zcmcImTW=Fb6#m9`vbM7cA(Rw)flx}~gp`3^X*Ws9r9i;x%~eqQ(vEj0W?;Q*c4tG~
zU(ts?^U6!5wo(P6m8w4XH&s>7tk=QOCdCr!gXip=Idjf;&U|OafBo~@9{`qdvx)+W
z7D_foFv{S#VVgHa*j8Sc@OHN;w2C`^5_9>jmO-q-fX6c0Rj%Z!-SK&&H`%0bhS4Pz
zD80f^tj%v*DF2r~H;g2A!@yIToW}fKBBL(<%#61p(do#j3Jb+D#u!Fgk?^FMkK35Q
z5r%@i$8fn;zaw@9_eId+pEU1CS37yld|p+-QA}AlX5$4MXSm=7{JU<4$2y6-v6k)q
zDX#k>j`!tRZHicKr63tD)eo&%nqxb)<7<0c91AZpoXrKz4AXEu=VO@0NgFTWWrk`j
zeM+#dV$HBodq&WK!e-TUvN|MM`P_JM%6OHb?3(PpR-UQJX&W;*!!S;j@MNI-DbCdo
z1KSuhbjENNuUj~0V-|A^=Z4zFFxE?LJxqe<%Pl2BJq%h-74ulIaNfou-e8z`$`iB9
zQ1MA@3qO%5S#Mb22jT5geUJhSCqE~ksx7xwteU=D4T4ZppAd_Qll3ra@wgMIptTc;
zw!9xkcX?9^qWF$*bx0%^dmH#_qQmfUr*QPrcjer|&+Gk)QNb$>)e3}8B089x!xU}kU`JJ)M!qiMtgR^j10#Gz=ir*YHRtfn|5J$!
zLRyCLh8FH!x(zb!{d9Q9XFn4M)FXfMIm4Y$-l|Xjw36ASO$S+Rgh}MetIG7#@xevY
z6c^0(z)(A|cj-ZhWT=UH{m0J18M-VBpqGPw1#@STyhsn~D9KACizMkirSVOgagvPW
z$iic=U+ANNw`erWzzMufqun#WJ9w974DaDGIWe1eNft?-`W@Dnk5SoLoT{FG1pC&)
zubBK3(~D1VqJW>tqL_M}NUcw!Ot2;inDIW-^N@KbUw9uMP?R#gFAkOn&oWsV3_Z;X
zX+9*)2qQz_3jGRLrR6oO)0ctuJxZz5+EZAs^kJPMOs^I22(`)&4`7uZqE!5m_LK$y
z&Qhp30ysYau(k)VhK&s1Ob(#Yd_*X&l1KXY@;7EJSXWpd@CK=i8RToYPO}0w_YUU<
F@GtZjnkoPQ
literal 0
HcmV?d00001
diff --git a/target/classes/cn/zyp/stusystem/service/impl/StudentServiceImpl.class b/target/classes/cn/zyp/stusystem/service/impl/StudentServiceImpl.class
new file mode 100644
index 0000000000000000000000000000000000000000..ed6dd7be918c518b1fb6eb20e7911758b07eed4c
GIT binary patch
literal 5788
zcmd5=`F|8=8UMbUV>X+CEK32mMOq-xBpgGbB4z=F6iVVkfnX?9Z6~`!7_vLF%*;ZA
ztyd3^dQ`1fQR-dKO0@<9TI+?iR>k|ifA!;E(2w|iXJ&V2*@TV$?i$Rw~BFIKQb#r3#BU~WxY*0#n3ItskhqA(Q4
zGDap>&|UXVGoL^=Rw!7h;zslcBx~Hmo?}XW#dLQROWuSZ!^3g(3A9>z(RX#ViZ#;J
z)`B^1bU?#81vjZ!j|~Fra+Y>#qNKTA*`07bqj&`{ymH>KygGa&Ms?TN?FUxirY0dN
z`gGd%DoaMeO9WOls0|5+1BHS3PTY)_s@Q~=2_#&jz^q722|V1>Os(PRdEL{sLCKJ5
zLLC85C11@_U94Boi3~O?*rH-9UM{fu>Nu%qrf*}0x8ERy@~%Ltr#C=e*)t1T)^xp0
zC$?d`f&mq`$RY~BQ+>_Ey5=cE675uRD|WGj2|hzF3S3twEO@FBGklpzv3CrqcqOu|
z3#O?+@LXR#X
z%K^Mf!H9~3xSeh^=ozpJ5)QV*h_!pR43of;I_pD;RZ8FZ!z%8;t649(KmaQsYGVUW
zXrkY-!oCp4YuPqrQKoR03LT^J))LqpN{SLk{0|LbkIGCVRn}!*g@GdioqpX1HNaZQ
z&QvS|vONT3bnYlj1;qb08g4OtP8nDz-tAOdBQ?rHI*z$2g#Yx;vgy^}PQ6kCOr~xFZWWtAV
zRp$W5NV#Y@e&L-`@jBc?#2m4m9eVDlzztC$jZD2G3A`R}Q1C_-Z^D~dR1LXcOEtX-
z7NXx>g9hLyb1)xi06vc7c%U6F?pN^u9%N;)SqQA025ZxxN?P((6>r1a1ytAYd?kB0
z7X%hWB@FvxBqL|-I|OcQFu1Z?2rUlhfk1kHnXVL#5z{qC3&u9fvORzJvn)4dZD&k#
zOL9ORaj5g8?Tl-qhRzv%grm{sl-8>Z+P1Q1pEMmKpJ78Au=6yrD{ETDo^o;2a1Q7c
z&)8(`oL(5w9aG+i4_m#XCiSgvtdok_!6v6+mQmBZ+E}S(_NNH~W^*T5{Z=vQhqENpsike^_}uWjN(LzqP`?^8Qp?5$QyNNedd3YA
zMy92~g@{Wb0HwNpO`NKa?#y0l@%jE9!8Lp(q6|5N?53;eYOy*QfJyBj)L_d0~TZO`l%y_9!^B|L4vY&_k0wMAyc4Wmu}??hTEOB?eQ}6T9X|X
zdgMtR;{h5TC7=DvK;_kWqnnUW@_=3_44a;jN#en-Hr$)U_kCbCE8eImzaNwN2MIij
zA1ZiG#gF9PYS~OeY7JJN`VDU|pTv*ZXt~L~^2FQNS*O$dQ>poqil5=*Hu`NiA42iA4v~O1kwT=A~OFab3qF
zXDTn3$_M`2wu|UWw@qUCqm_5P@^;n1zNfJE8Qh$1Pb*W{*n!JP|{>{VYS!>W6JBy0~6~`OLy%EW=tXN0uLsj$#E)
zp$GS&mtpL~S*#-SYJ8Vpg)U(o{>3jrFJPk|?)w?iv*h{!K8Oxd4d6rgFhAj4BK@O$
z)=BEQIE{}mF${f}7PC68Av`E1pa&s8n?JS_>NeW5Dti&be~qO>O{?KG6j
zSc$j-O+ljaw^%{90)CO=sg*yMNjNh_j1=OI*^wQd9oY*wt?;YOm#KF_8zTtD4vZS`
z82|hDFS8rNlgWfEcg9y%%}&Nt#y7R9kFdXY3inB1bx-0gSC-IvKc@==YCmgaqq9%p
zYn0U%N}t3zK9wM?RO%G(&-1^JIlDk@-yv4M7p^Yi`Ed0U{K8-T3ctbc@ki1pDD_YH
J3;u@me*hB;*=_&;
literal 0
HcmV?d00001