基于javaweb+mysql的springboot学生管理系统(java+springboot+maven+mybatis+vue+mysql)

运行环境

Java≥8、MySQL≥5.7、Node.js≥10

开发工具

后端:eclipse/idea/myeclipse/sts等均可配置运行

前端:WebStorm/VSCode/HBuilderX等均可

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

功能说明

基于javaweb+mysql的SpringBoot学生管理系统(java+springboot+maven+mybatis+vue+mysql)

一、项目简述

本系统功能包括: 学生管理,教师管理,课程管理,成绩管理,系统管理等等。

二、项目运行

环境配置:

Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。

项目技术:

Springboot + Maven + mybatis+ Vue 等等组成,B/S模式 + Maven管理等等。


private StudentService lxxStudentService;

@Autowired

private DeleteService deleteService;

// 跳转教师查询页面

@RequestMapping("/selectTeacher")

public String selectTeacher(){

return "view/teacher/selTeacher";

//  查询教师信息

@RequestMapping("selTeacher")

@ResponseBody

public LayuiResult<Map> selTeacher(TeacherDB teacherDB, pageCount pageCount){

LayuiResult<Map> result = new LayuiResult<>();

if(StringUtils.isBlank(u.getNickName())){

u.setNickName(u.getLoginName());

r.setUpdateUser(u);

});

return roles;

@RequestMapping("add")

public String add(ModelMap modelMap){

Map<String,Object> map =  new HashMap();

map.put("parentId",null);

map.put("isShow",false);

List<Menu> menuList = menuService.selectAllMenus(map);


private TeacherService lxxTeacherService;

@Autowired

private StudentService lxxStudentService;

@Autowired

private DeleteService deleteService;

// 跳转教师查询页面

@RequestMapping("/selectTeacher")

public String selectTeacher(){

return "view/teacher/selTeacher";

//  查询教师信息

@RequestMapping("selTeacher")

@ResponseBody
User user = userService.findUserById(userId);

modelMap.put("userinfo",user);

modelMap.put("userRole",user.getRoleLists());

return "admin/user/userInfo";

@SysLog("系统用户个人信息修改")

@PostMapping("saveUserinfo")

@ResponseBody

public ResponseEntity saveUserInfo(User user){

if(StringUtils.isBlank(user.getId())){

return ResponseEntity.failure("用户ID不能为空");

if(StringUtils.isBlank(user.getLoginName())){

return ResponseEntity.failure("登录名不能为空");

Map<String,Object> map = new HashMap();

map.put("parentId",null);

map.put("isShow",Boolean.FALSE);

List<Menu> menuList = menuService.selectAllMenus(map);

modelMap.put("role",role);

modelMap.put("menuList",menuList);

modelMap.put("menuIds",menuIds);

return "admin/role/edit";

@RequiresPermissions("sys:role:edit")

@PostMapping("edit")

@ResponseBody

@SysLog("保存编辑角色数据")


UserService userService;

@Autowired

MenuService menuService;

@RequestMapping(value = "list")

public String list(){

return "admin/role/list";

@RequiresPermissions("sys:role:list")

@PostMapping("list")

@ResponseBody

public PageData<Role> list(@RequestParam(value = "page",defaultValue = "1")Integer page,

@RequestParam(value = "limit",defaultValue = "10")Integer limit,

ServletRequest request){

Map map = WebUtils.getParametersStartingWith(request, "s_");


if(!confirmPwd.equals(newPwd)){

return ResponseEntity.failure("确认密码与新密码不一致");

//小程序修改密码

if(StringUtils.isBlank(userName)){

//PC修改密码

User user = userService.findUserById(MySysUser.id());

byte[] hashPassword = Encodes.sha1(oldPwd.getBytes(), Encodes.SHA1, Encodes.decodeHex(user.getSalt()), Constants.HASH_INTERATIONS);

String password = Encodes.encodeHex(hashPassword);

if(!user.getPassword().equals(password)){

return ResponseEntity.failure("旧密码错误");

user.setPassword(newPwd);

Encodes.entryptPassword(user);

userService.updateById(user);


if (userService.userCount(user.getTel()) > 0) {

return ResponseEntity.failure("该手机号已经被绑定");

user.setIcon(oldUser.getIcon());

userService.updateUser(user);

if(StringUtils.isBlank(user.getId())){

return ResponseEntity.failure("保存用户信息出错");

userService.saveUserRoles(user.getId(),user.getRoleLists());

return ResponseEntity.success("操作成功");

@RequiresPermissions("sys:user:lock")

@PostMapping("lock")

@ResponseBody

@SysLog("锁定或开启系统用户")


if(StringUtils.isBlank(userName)){

//PC修改密码

User user = userService.findUserById(MySysUser.id());

byte[] hashPassword = Encodes.sha1(oldPwd.getBytes(), Encodes.SHA1, Encodes.decodeHex(user.getSalt()), Constants.HASH_INTERATIONS);

String password = Encodes.encodeHex(hashPassword);

if(!user.getPassword().equals(password)){

return ResponseEntity.failure("旧密码错误");

user.setPassword(newPwd);

Encodes.entryptPassword(user);

userService.updateById(user);


//  删除教评记录信息

Integer deleteTeaRecord = deleteService.deleteTeaRecord(tid);

//  改用户登录状态改为(1)锁定状态

Integer deleteUser = deleteService.deleteUser(teacherDB.getTchid());

//删除提示

result.setMsg("修改成功!");

return result;

}else{

int a =lxxTeacherService.updTeacher(teacherDB);

//删除提示

result.setMsg("修改成功!");


public ResponseEntity lock(@RequestParam(value = "id",required = false)String id){

if(StringUtils.isBlank(id)){

return ResponseEntity.failure("参数错误");

User user = userService.getById(id);

if(user == null){

return ResponseEntity.failure("用户不存在");

userService.lockUser(user);

return ResponseEntity.success("操作成功");

@RequiresPermissions("sys:user:delete")

@PostMapping("delete")


if(state == 1){

//  修改教师为离职状态并逻辑删除

Integer deleteTeacher = deleteService.deleteTeacher(teacherDB);

//  删除教师授课信息

Integer deleteTchCourse = deleteService.deleteTchCourse(tid);

//  删除教师班级信息

Integer deleteTchClass = deleteService.deleteTchClass(tid);

//  删除教师成绩信息

Integer deleteTchExam = deleteService.deleteTchExam(tid);

//  删除教评记录信息

Integer deleteTeaRecord = deleteService.deleteTeaRecord(tid);


if(StringUtils.isNotBlank(r.getCreateId())){

User u = userService.findUserById(r.getCreateId());

if(StringUtils.isBlank(u.getNickName())){

u.setNickName(u.getLoginName());

r.setCreateUser(u);

if(StringUtils.isNotBlank(r.getUpdateId())){

User u  = userService.findUserById(r.getUpdateId());

if(StringUtils.isBlank(u.getNickName())){

u.setNickName(u.getLoginName());

r.setUpdateUser(u);

});

return ResponseEntity.failure("参数错误");

User user = userService.getById(id);

if(user == null){

return ResponseEntity.failure("用户不存在");

}else if(user.getAdminUser()) {

return ResponseEntity.failure("不能删除后台用户");

userService.deleteUser(user);

return ResponseEntity.success("操作成功");

@RequiresPermissions("sys:user:delete")

@PostMapping("deleteSome")

@ResponseBody
public String edit(String id,ModelMap modelMap){

User user = userService.findUserById(id);

String roleIds = "";

if(user != null) {

roleIds = user.getRoleLists().stream().map(role -> role.getId()).collect(Collectors.joining(","));

List<Role> roleList = roleService.selectAll();

modelMap.put("localuser",user);

modelMap.put("roleIds",roleIds);

modelMap.put("roleList",roleList);

return "admin/user/edit";

@RequiresPermissions("sys:user:edit")

@PostMapping("edit")

@ResponseBody

@SysLog("保存系统用户编辑数据")

User user = userService.findUserByLoginName(userName);

byte[] hashPassword = Encodes.sha1(oldPwd.getBytes(), Encodes.SHA1, Encodes.decodeHex(user.getSalt()), Constants.HASH_INTERATIONS);

String password = Encodes.encodeHex(hashPassword);

if(!user.getPassword().equals(password)){

return ResponseEntity.failure("旧密码错误");

user.setPassword(newPwd);

Encodes.entryptPassword(user);

userService.updateById(user);

return ResponseEntity.success("操作成功");

@SysLog("上传头像")

@PostMapping("uploadFace")

@ResponseBody


url = uploadService.upload(file);

map.put("url", url);

map.put("name", file.getOriginalFilename());

} catch (Exception e) {

e.printStackTrace();

return ResponseEntity.failure(e.getMessage());

return ResponseEntity.success("操作成功").setAny("data",map);

教师管理控制层:

@Controller

public class TeacherController {

@Autowired

private TeacherService lxxTeacherService;


//  查询政治面貌

List<PoliticsTypeDB> selpol = lxxStudentService.selPolitics();

model.addAttribute("tea",tea);

model.addAttribute("selpol",selpol);

return "view/teacher/selTchMessage";

//  修改教师信息

@RequestMapping("/updateTeacher")

@ResponseBody

public LayuiResult<TeacherDB> updTeacher(TeacherDB teacherDB, String birthday) throws Exception{

LayuiResult result= new LayuiResult();

SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");

Date date=format.parse(birthday);

teacherDB.setTbirthday(date);

请添加图片描述

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐