欢迎来到本篇博客,昨天我们学习的是查询所有,今天我们将探索一个令人兴奋的话题——Java项目学生管理系统的学生添加功能。作为一个学生管理系统的关键功能之一,学生添加模块扮演着连接教育工作者与学生信息的桥梁。通过本文,我们将深入了解如何通过Java编程语言实现这一功能,让您能够更加高效地管理学生信息。
添加学生
分析
添加:后端
1)Service
-
接口
/** * 添加学生 * @param student * @return */ Boolean save(Student student);
-
实现类
@Override public Boolean save(Student student) { //1 保存基本信息 int result = studentMapper.insert(student); //TODO 2 保存关联数据 return result == 1; }
2)Controller
@PostMapping
public ResponseEntity<String> add(@RequestBody Student student) {
//添加
boolean result = studentService.save(student);
//处理结果
if(result) {
return ResponseEntity.ok("添加成功");
}
return ResponseEntity.ok("添加失败");
}
添加:前端
<template>
<div>
<el-form ref="form" :model="student" label-width="80px">
<el-form-item label="姓名">
<el-input v-model="student.sname"></el-input>
</el-form-item>
<el-form-item label="年龄">
<el-input v-model="student.age"></el-input>
</el-form-item>
<el-form-item label="性别">
<el-radio-group v-model="student.gender">
<el-radio label="1">男</el-radio>
<el-radio label="0">女</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="生日">
<el-date-picker type="date" v-model="student.birthday" value-format="yyyy-MM-dd" placeholder="选择您的生气" ></el-date-picker>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="addStudent">添加</el-button>
<el-button>取消</el-button>
</el-form-item>
</el-form>
{{student}}
</div>
</template>
<script>
export default {
data() {
return {
student: {}
}
},
methods: {
async addStudent() {
let { data } = await this.$http.post('/student', this.student)
//提示
this.$message.success(data)
//this.$message.error(data) //失败
//跳转到列表页面
this.$router.push('/studentList')
}
},
}
</script>
<style>
</style>
班级列表:前端
<template>
<div>
<el-form ref="form" :model="student" label-width="80px">
<el-form-item label="姓名">
<el-input v-model="student.sname"></el-input>
</el-form-item>
<el-form-item label="班级">
<el-select v-model="student.cid" clearable placeholder="请选择班级">
<el-option v-for="(classes,index) in classesList" :key="index" :label="classes.cname" :value="classes.cid"></el-option>
</el-select>
</el-form-item>
<el-form-item label="年龄">
<el-input v-model="student.age"></el-input>
</el-form-item>
<el-form-item label="性别">
<el-radio-group v-model="student.gender">
<el-radio label="1">男</el-radio>
<el-radio label="0">女</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="生日">
<el-date-picker type="date" v-model="student.birthday" value-format="yyyy-MM-dd" placeholder="选择您的生气" ></el-date-picker>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="addStudent">添加</el-button>
<el-button>取消</el-button>
</el-form-item>
</el-form>
{{student}}
</div>
</template>
<script>
export default {
data() {
return {
student: {},
classesList: [], //所有班级
}
},
methods: {
async addStudent() {
let { data } = await this.$http.post('/student', this.student)
//提示
this.$message.success(data)
//this.$message.error(data) //失败
//跳转到列表页面
this.$router.push('/studentList')
},
async selectAllClasses() {
let { data } = await this.$http.get('/classes')
this.classesList = data
},
},
mounted() { //页面加载成功
//查询所有班级
this.selectAllClasses()
},
}
</script>
<style>
</style>
城市级联:前端(同步)
-
步骤1:发送ajax查询所有的城市
-
步骤2:使用级联菜单显示城市数据
-
步骤3:修改后端City,过滤集合为空的数据
-
步骤4:修改前端添加内容,将 cityArr数组 转换成 cityIds字符串
-
步骤1:发送ajax查询所有的城市
-
步骤2:使用级联菜单显示城市数据
-
步骤3:修改后端City,过滤集合为空的数据
-
步骤4:修改前端添加内容,将 cityArr数组 转换成 cityIds字符串
<template>
<div>
<el-form ref="form" :model="student" label-width="80px">
<el-form-item label="姓名">
<el-input v-model="student.sname"></el-input>
</el-form-item>
<el-form-item label="班级">
<el-select v-model="student.cid" clearable placeholder="请选择班级">
<el-option v-for="(classes,index) in classesList" :key="index" :label="classes.cname" :value="classes.cid"></el-option>
</el-select>
</el-form-item>
<el-form-item label="年龄">
<el-input v-model="student.age"></el-input>
</el-form-item>
<el-form-item label="性别">
<el-radio-group v-model="student.gender">
<el-radio label="1">男</el-radio>
<el-radio label="0">女</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="生日">
<el-date-picker type="date" v-model="student.birthday" value-format="yyyy-MM-dd" placeholder="选择您的生气" ></el-date-picker>
</el-form-item>
<el-form-item label="城市">
<el-cascader
v-model="student.cityArr"
:options="cityList"
:props="{ expandTrigger: 'hover', value: 'cid', label: 'cityName',children: 'children' }">
</el-cascader>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="addStudent">添加</el-button>
<el-button>取消</el-button>
</el-form-item>
</el-form>
{{student}}
</div>
</template>
<script>
export default {
data() {
return {
student: {
cityArr: []
},
classesList: [], //所有班级
cityList: [], //所有城市
}
},
methods: {
async addStudent() {
// 处理数据
this.student.cityIds = this.student.cityArr.join(",")
//debugger
// 添加ajax
let { data } = await this.$http.post('/student', this.student)
//提示
this.$message.success(data)
//this.$message.error(data) //失败
//跳转到列表页面
this.$router.push('/studentList')
},
async selectAllClasses() {
let { data } = await this.$http.get('/classes')
this.classesList = data
},
async selectAllCity() {
let {data : cityList} = await this.$http.get('/city')
this.cityList = cityList
}
},
mounted() { //页面加载成功
//查询所有班级
this.selectAllClasses()
//查询所有城市
this.selectAllCity();
},
}
</script>
<style>
</style>
选课:前端
-
步骤1:使用ajax查询所有的课程
-
步骤2:使用复选框展示
-
步骤1:使用ajax查询所有的课程
-
步骤2:使用复选框展示
完善添加:后端
-
步骤1:修改student,添加courseIds属性
-
步骤2:创建StudentCourse javaBean
-
步骤3:创建StudentCourseMapper
-
步骤4:修改Student,修改id属性注解,添加时获得数据库自动生成的id
-
步骤5:修改StudentService
-
步骤1:修改student,添加courseIds属性
-
步骤2:创建StudentCourse javaBean
package com.czxy.domain; import javax.persistence.Column; import javax.persistence.Id; import javax.persistence.Table; /** * @author 桐叔 * @email liangtong@itcast.cn * @description */ @Table(name = "tb_student_course") public class StudentCourse { @Column(name = "s_id") private Integer sid; @Column(name = "c_id") private Integer cid; private Double score; } /* CREATE TABLE `tb_student_course` ( `s_id` INT NOT NULL COMMENT '学生ID', `c_id` INT NOT NULL COMMENT '课程ID', `score` DOUBLE DEFAULT NULL, PRIMARY KEY (`s_id`,`c_id`) ); */
-
步骤3:创建StudentCourseMapper
package com.czxy.mapper; import com.czxy.domain.StudentCourse; import tk.mybatis.mapper.common.Mapper; /** * @author 桐叔 * @email liangtong@itcast.cn * @description */ public interface StudentCourseMapper extends Mapper<StudentCourse> { }
-
步骤4:修改Student,修改id属性注解,添加时获得数据库自动生成的id
-
步骤5:修改StudentService
至此,我们已经成功完成了Java项目学生管理系统的学生添加功能。通过学习本文,您不仅了解了如何通过Java语言开发一个功能强大的学生管理系统,还深入研究了如何实现学生添加模块。无论您是一位教育工作者,还是一个对Java编程感兴趣的学习者,这些知识都将对您的日常工作或学术研究提供极大的帮助。