基于javaweb+mysql的springboot校园运动会管理系统(java+springboot+vue+elementui+mysql)
运行环境
Java≥8、MySQL≥5.7、Node.js≥10
开发工具
后端:eclipse/idea/myeclipse/sts等均可配置运行
前端:WebStorm/VSCode/HBuilderX等均可
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明
基于javaweb+mysql的SpringBoot校园运动会管理系统(java+springboot+vue+elementui+mysql)
环境需要
1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。 2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA; 3.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS; 4.数据库:MySql 5.7/8.0版本均可; 5.是否Maven项目:是;
技术栈
1.后端:SpringBoot+Mybaits 2.前端:Vue +ElementUI +HTML+CSS+JS
使用说明
项目运行: 1. 使用Navicat或者其它工具,在mysql中创建对应sql文件名称的数据库,并导入项目的sql文件; 2. 使用IDEA/Eclipse/MyEclipse导入项目,导入成功后请执行maven clean;maven install命令,然后运行; 3. 将项目中application.yml配置文件中的数据库配置改为自己的配置;
}else{
modelAndView.addObject("message", "账号密码错误");
modelAndView.setViewName("adminUser/login");
return modelAndView;
}else{
//表示管理员
Admin adminUser = adminService.checkPassword(name, password);
if (adminUser != null) {
//成功后保存账号session全局保存
ModelAndView modelAndView = new ModelAndView("redirect:/");
request.getSession().setAttribute("adminUser", adminUser);
request.getSession().setAttribute("name",adminUser.getName());
return modelAndView;
/**
* 查看成绩
* @param request
* @param response
* @return
*/
@RequestMapping("/showscore.do")
public ModelAndView showscore(HttpServletRequest request,HttpServletResponse response)
ModelAndView modelAndView = new ModelAndView("/project/score");
String name=request.getParameter("project");
@ResponseBody
@RequestMapping(value="add.do",method=RequestMethod.POST)
public AjaxResult addSubmit(Project project)
if(CommonUtils.isEmpty(project.getName())){
return AjaxResult.errorInstance("请填写比赛项目名称");
if(CommonUtils.isEmpty(project.getDescription())){
return AjaxResult.errorInstance("请填写比赛描述");
if(CommonUtils.isEmpty(project.getLocation())){
return AjaxResult.errorInstance("请填写比赛地址");
if(CommonUtils.isEmpty(project.getCountry())){
* @param resp
* @return
*/
@RequestMapping(value = "update.do", method = RequestMethod.GET)
public ModelAndView update(@RequestParam(name = "id")Long id,HttpServletRequest req, HttpServletResponse resp) {
User user = userService.selectOne(id);
ModelAndView modelAndView = new ModelAndView("user/update");
modelAndView.addObject("user",user);
return modelAndView;
/**
* 编辑运动员信息操作
* @param user
* @return
*/
return AjaxResult.successInstance("裁判员信息编辑成功");
/**
* 删除裁判信息
* @return
*/
@ResponseBody
@PostMapping("/delete.do")
public AjaxResult deleteAdminUser(@RequestParam(name = "id")Long id){
try {
adminService.delete(id);
}catch (Exception e){
return AjaxResult.errorInstance("有关联数据,不可删除");
return AjaxResult.successInstance("删除成功");
* @return
*/
@ResponseBody
@RequestMapping(value = "add.do", method = RequestMethod.POST)
public AjaxResult addSubmit(Admin admin, @RequestParam(name = "repassword") String repassword, HttpServletRequest request, HttpServletResponse response) {
if (StringUtils.isEmpty(admin.getName())) {
return AjaxResult.errorInstance("请填写账号");
if (StringUtils.isEmpty(admin.getPassword())) {
return AjaxResult.errorInstance("请填写密码");
if (!admin.getPassword().equals(repassword)) {
return AjaxResult.errorInstance("两次密码不一致");
ModelAndView modelAndView = new ModelAndView("Message");
return modelAndView;
/**
* 添加一名成员成绩
*/
@RequestMapping(value = "/addscore.do")
public ModelAndView addscore(Long projectId, Long userId, HttpServletRequest request) {
User user = new User();
user.setId(userId);
user = userService.selectOne(user);
ModelAndView modelAndView = new ModelAndView("/score/addscore");
modelAndView.addObject("user", user);
/**
* 转到密码修改页面
* @param resp
* @param req
* @return
*/
@RequestMapping(value = "updatePassword.do", method = RequestMethod.GET)
public ModelAndView updatePassword(HttpServletResponse resp, HttpServletRequest req) {
return new ModelAndView("user/resetPassword");
/**
* 密码修改提交
* @param resp
} else {
userService.delete(id);
return AjaxResult.successInstance("删除成功");
@RequestMapping(value = "/register.do", method = RequestMethod.GET)
public ModelAndView registerPage(User user) {
ModelAndView modelAndView = new ModelAndView("register");
return modelAndView;
@RequestMapping(value = "/reg.do", method = RequestMethod.GET)
public ModelAndView reg() {
return new ModelAndView("reg");
@RequestMapping(value = "/reg.do", method = RequestMethod.POST)
public ModelAndView regSubmit(HttpServletRequest req, HttpServletResponse resp) {
User user = new User();
HttpServletRequest req,@RequestParam(name = "oldPassword")String oldPassword,@RequestParam(name = "repassword")String rePassword) {
if(StringUtils.isEmpty(oldPassword)){
return AjaxResult.errorInstance("请填写旧密码");
if(StringUtils.isEmpty(rePassword)){
return AjaxResult.errorInstance("请填写确认密码");
if(StringUtils.isEmpty(password)){
return AjaxResult.errorInstance("请填写密码");
if(!password.equals(rePassword)){
return AjaxResult.errorInstance("两次密码不一致");
// 根据管理员的id来修改当前的账户密码
User user = new User();
user.setId(id);
user = userService.selectOne(user);// 以对象来查询
/**
* @return
*/
@RequestMapping(value="verify.do",method=RequestMethod.GET)
public ModelAndView verify()
List<Project> projectList=projectService.selectList();
ModelAndView modelAndView = new ModelAndView("/project/review_list");
modelAndView.addObject("projectList",projectList);
return modelAndView;
/**
* 上传图片
projectService.delete(id);
return new AjaxResult().successInstance("删除成功");
/**
* 比赛项目成绩列表
* @return
*/
@RequestMapping("/score.do")
public ModelAndView score(HttpServletRequest request,HttpServletResponse response)
List<Project> projectList=projectService.selectList();
request.setAttribute("projectList", projectList);
@RequestMapping(value="verify.do",method=RequestMethod.GET)
public ModelAndView verify()
List<Project> projectList=projectService.selectList();
ModelAndView modelAndView = new ModelAndView("/project/review_list");
modelAndView.addObject("projectList",projectList);
return modelAndView;
/**
* 上传图片
* @param photo
* @param request
* @return
*/
UserScore userScore = new UserScore();
try {
Long score = (long) Integer.parseInt(request.getParameter("score"));
if (score < 0 || score > 100) {
return AjaxResult.errorInstance("分数只能在0-100分以内");
Map<String, Object> queryMap = new HashMap<>();
queryMap.put("userId",id);
queryMap.put("projectId",projectId);
UserScore userScore1 = userScoreService.findByUserIdAndProjectId(queryMap);
if(userScore1!=null){
return AjaxResult.errorInstance("该运动员这个项目已经评过分了!");
ret.put("type", "error");
ret.put("msg", "文件大小不能超过10M!");
return ret;
//获取文件后缀
String suffix = photo.getOriginalFilename().substring(photo.getOriginalFilename().lastIndexOf(".")+1,photo.getOriginalFilename().length());
if(!"jpg,jpeg,gif,png".toUpperCase().contains(suffix.toUpperCase())){
ret.put("type", "error");
ret.put("msg", "请选择jpg,jpeg,gif,png格式的图片!");
return ret;
String savePath = request.getServletContext().getRealPath("/") + "/upload/";
File savePathFile = new File(savePath);
if(!savePathFile.exists()){
/**
* @param projectId
* @param userId
* @param request
* @return
*/
/**
* 显示用户页面的用户的当前的所有项目
* @param id
* @param request
* @param response
* @return
project=projectService.selectOne(project);
List<User> userList=projectUserSerivce.selectSecondListByFirstId(project.getId());
modelAndView.addObject("userList",userList);
List<Project> projectList=projectService.selectList();
modelAndView.addObject("projectList", projectList);
modelAndView.addObject("name",name);
request.setAttribute("projectId", project.getId());
return modelAndView;
/**
* @return
*/