基于SSM实现学生管理系统
更新时间:2020年12月18日 08:50 点击:2253
本文实例为大家分享了SSM实现学生管理系统的具体代码,供大家参考,具体内容如下
概述
基于Spring + Spring MVC 的学生管理系统,使用Maven进行包管理。
主要代码
@RequestMapping("/student") @Controller public class StudentController { @Autowired private StudentService studentService; @Autowired private ClazzService clazzService; /** * 学生列表页 * @param model * @return */ @RequestMapping(value="/list",method=RequestMethod.GET) public ModelAndView list(ModelAndView model){ model.setViewName("student/student_list"); List<Clazz> clazzList = clazzService.findAll(); model.addObject("clazzList",clazzList ); model.addObject("clazzListJson",JSONArray.fromObject(clazzList)); return model; } /** * 获取学生列表 * @param name * @param page * @return */ @RequestMapping(value="/get_list",method=RequestMethod.POST) @ResponseBody public Map<String, Object> getList( @RequestParam(value="name",required=false,defaultValue="") String name, @RequestParam(value="clazzId",required=false) Long clazzId, HttpServletRequest request, Page page ){ Map<String, Object> ret = new HashMap<String, Object>(); Map<String, Object> queryMap = new HashMap<String, Object>(); queryMap.put("username", "%"+name+"%"); Object attribute = request.getSession().getAttribute("userType"); if("2".equals(attribute.toString())){ //说明是学生 Student loginedStudent = (Student)request.getSession().getAttribute("user"); queryMap.put("username", "%"+loginedStudent.getUsername()+"%"); } if(clazzId != null){ queryMap.put("clazzId", clazzId); } queryMap.put("offset", page.getOffset()); queryMap.put("pageSize", page.getRows()); ret.put("rows", studentService.findList(queryMap)); ret.put("total", studentService.getTotal(queryMap)); return ret; } /** * 编辑学生信息 * @param clazz * @return */ @RequestMapping(value="/edit",method=RequestMethod.POST) @ResponseBody public Map<String, String> edit(Student student){ Map<String, String> ret = new HashMap<String, String>(); if(StringUtils.isEmpty(student.getUsername())){ ret.put("type", "error"); ret.put("msg", "学生姓名不能为空!"); return ret; } if(StringUtils.isEmpty(student.getPassword())){ ret.put("type", "error"); ret.put("msg", "学生登录密码不能为空!"); return ret; } if(student.getClazzId() == null){ ret.put("type", "error"); ret.put("msg", "请选择所属班级!"); return ret; } if(isExist(student.getUsername(), student.getId())){ ret.put("type", "error"); ret.put("msg", "该姓名已存在!"); return ret; } student.setSn(StringUtil.generateSn("S", "")); if(studentService.edit(student) <= 0){ ret.put("type", "error"); ret.put("msg", "学生添加失败!"); return ret; } ret.put("type", "success"); ret.put("msg", "学生修改成功!"); return ret; } /** * 添加学生信息 * @param student * @return */ @RequestMapping(value="/add",method=RequestMethod.POST) @ResponseBody public Map<String, String> add(Student student){ Map<String, String> ret = new HashMap<String, String>(); if(StringUtils.isEmpty(student.getUsername())){ ret.put("type", "error"); ret.put("msg", "学生姓名不能为空!"); return ret; } if(StringUtils.isEmpty(student.getPassword())){ ret.put("type", "error"); ret.put("msg", "学生登录密码不能为空!"); return ret; } if(student.getClazzId() == null){ ret.put("type", "error"); ret.put("msg", "请选择所属班级!"); return ret; } if(isExist(student.getUsername(), null)){ ret.put("type", "error"); ret.put("msg", "该姓名已存在!"); return ret; } student.setSn(StringUtil.generateSn("S", "")); if(studentService.add(student) <= 0){ ret.put("type", "error"); ret.put("msg", "学生添加失败!"); return ret; } ret.put("type", "success"); ret.put("msg", "学生添加成功!"); return ret; } /** * 删除学生信息 * @param ids * @return */ @RequestMapping(value="/delete",method=RequestMethod.POST) @ResponseBody public Map<String, String> delete( @RequestParam(value="ids[]",required=true) Long[] ids ){ Map<String, String> ret = new HashMap<String, String>(); if(ids == null || ids.length == 0){ ret.put("type", "error"); ret.put("msg", "请选择要删除的数据!"); return ret; } try { if(studentService.delete(StringUtil.joinString(Arrays.asList(ids), ",")) <= 0){ ret.put("type", "error"); ret.put("msg", "删除失败!"); return ret; } } catch (Exception e) { // TODO: handle exception ret.put("type", "error"); ret.put("msg", "该学生下存在其他信息,请勿冲动!"); return ret; } ret.put("type", "success"); ret.put("msg", "学生删除成功!"); return ret; } /** * 上传用户头像图片 * @param photo * @param request * @param response * @return * @throws IOException */ @RequestMapping(value="/upload_photo",method=RequestMethod.POST) @ResponseBody public Map<String, String> uploadPhoto(MultipartFile photo, HttpServletRequest request, HttpServletResponse response ) throws IOException{ Map<String, String> ret = new HashMap<String, String>(); if(photo == null){ //文件没有选择 ret.put("type", "error"); ret.put("msg", "请选择文件!"); return ret; } if(photo.getSize() > 10485760){ //文件没有选择 ret.put("type", "error"); ret.put("msg", "文件大小超过10M,请上传小于10M的图片!"); return ret; } String suffix = photo.getOriginalFilename().substring(photo.getOriginalFilename().lastIndexOf(".") + 1,photo.getOriginalFilename().length()); if(!"jpg,png,gif,jpeg".contains(suffix.toLowerCase())){ ret.put("type", "error"); ret.put("msg", "文件格式不正确,请上传jpg,png,gif,jpeg格式的图片!"); return ret; } String savePath = request.getServletContext().getRealPath("/") + "\\upload\\"; System.out.println(savePath); File savePathFile = new File(savePath); if(!savePathFile.exists()){ savePathFile.mkdir();//如果不存在,则创建一个文件夹upload } //把文件转存到这个文件夹下 String filename = new Date().getTime() + "." + suffix; photo.transferTo(new File(savePath + filename )); ret.put("type", "success"); ret.put("msg", "图片上传成功!"); ret.put("src", request.getServletContext().getContextPath() + "/upload/" + filename); return ret; } private boolean isExist(String username,Long id){ Student student = studentService.findByUserName(username); if(student != null){ if(id == null){ return true; } if(student.getId().longValue() != id.longValue()){ return true; } } return false; } }
运行配置
1、首先安装Mysql5.7,设置用户名为root,密码为root,并保证其在运行状态,并执行sql文件导入数据。
2、然后再配置Maven到环境变量中,在源代码目录下运行
3、使用浏览器访问http://localhost:8080即可进入系统。
功能展示
1. 首页登陆
2.2 管理
2.3 管理
2.4 管理
2.5 管理
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持猪先飞。
相关文章
- 这篇文章主要为大家详细介绍了python实现学生通讯录管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-02-25
- 护卫神·主机管理系统该版本支持在Windows Server 200320082012,含32位和64位,直接开设配置WEB站、FTP站,以及SQL Server和MySQL,是您开设和管理虚拟主机的绝好帮手。但是对于新用户可能在使用上有一些困难,因此请仔细阅读如下说明文档...2016-01-27
- 这篇文章主要介绍了ssm+vue前后端分离框架整合实现(附源码),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-07-09
- 这篇文章主要介绍了Java SSM框架如何添加写日志功能,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-09-25
- 本文给大家介绍一个不错的需要登录的php 文件上传管理系统,功能简单有需要了解的同学可参考。 代码如下<?php$admin_pw="admin";//管理密码$uploaddir="upload";//上传目录session_start();if($_GET['action']=="g...2015-10-30
- 这篇文章主要为大家想详细介绍了C++学生信息管理系统的实现代码,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2020-04-25
- 这篇文章主要为大家详细介绍了C语言学生成绩管理系统小设计,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2020-04-25
- 本文介绍了个人的《零压健身房管理系统(扁平化)》的基本流程和功能点的介绍,虚心接受各位的意见,欢迎在提出宝贵的意见,大家一起探讨学习...2021-09-26
- 这篇文章主要为大家详细介绍了C++顺序表实现图书管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-10-13
- 这篇文章主要介绍了Java后端SSM框架图片上传功能实现方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-06-29
- 这篇文章主要介绍了基于python实现银行管理系统,文中有非常详细的代码示例,对正在学习python项目制作的小伙伴们有很好的帮助,需要的朋友可以参考下...2021-04-19
- 读万卷书不如行万里路,只学书上的理论是远远不够的,只有在实战中才能获得能力的提升,本篇文章手把手带你用Java 集合实现一个客户信息管理系统,大家可以在过程中查缺补漏,提升水平...2021-11-11
- [原创]php+ajax实现模拟Win文件管理系统 // 本教程由本站原创,转载请注明来处 作者:www.111cn.net 邮箱:drise@163.com QQ:271728967 // 就是deldir()函数了这个函数的...2016-11-25
NPOINT免费虚拟主机管理系统windows2003的安装方法【图文】第1/2页
这是一款免费的虚拟主机管理系统,无限制,并可以二次开发...2016-01-27- 这篇文章主要为大家详细介绍了C语言实现职工管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2020-04-25
- 在本篇文章里小编给大家整理的是一篇关于Django后台管理系统的图文使用教学内容,需要的朋友们参考下。...2020-04-22
- 随着网络技术的高速发展,计算机应用的普及,利用计算机对图书馆的日常工作进行管理势在必行,本篇文章手把手带你用Java实现一个图书管理系统,大家可以在过程中查缺补漏,提升水平...2021-10-21
- 这篇文章主要为大家详细介绍了基于SSM实现学生管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2020-12-18
- 这篇文章主要介绍了spring+mybatis实现图书管理系统...2020-06-18
- 这篇文章主要为大家详细介绍了C语言实现学生学籍管理系统,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2020-04-25