ssm学校运动会信息管理系统027
开发工具:idea
数据库mysql5.7+
数据库链接工具:navcat,小海豚等
技术:ssm
摘 要
在当今社会上,体育运动越来越普及,参与运动会的人越来越多,但是目前对运动会信息管理还是处于手工记录的时代,这远远满足不了现在用户需求,因此建立一个运动会信息管理系统已经变的非常重要。
本文重点阐述了学校运动会信息管理系统的开发过程,以实际运用为开发背景,基于B/S结构,运用了JSP技术和MYSQL作为系统数据库进行开发,充分保证系统的安全性和稳定性。本系统界面良好,操作简单方便,通过系统概述、系统分析、系统设计、数据库设计、系统测试这几个部分,详细的说明了系统的开发过程,最后并对整个开发过程进行了总结,实现了学校运动会信息管理的重要功能。
本系统经过测试,运行效果稳定,操作方便、快捷,是一个功能全面、实用性好、安全性高,并具有良好的可扩展性、可维护性的学校运动会信息管理系统。
关键字:学校运动会信息管理;B/S结构;JSP技术;MYSQL数据库
package com.controller;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Map;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Date;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import com.utils.ValidatorUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.annotation.IgnoreAuth;
import com.entity.BisaixiangmuEntity;
import com.entity.view.BisaixiangmuView;
import com.service.BisaixiangmuService;
import com.service.TokenService;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.MD5Util;
import com.utils.MPUtil;
import com.utils.CommonUtil;
/**
* 比赛项目
* 后端接口
* @author
* @email
* @date 2023-03-20 08:05:26
*/
@RestController
@RequestMapping("/bisaixiangmu")
public class BisaixiangmuController {
@Autowired
private BisaixiangmuService bisaixiangmuService;
/**
* 后端列表
*/
@RequestMapping("/page")
public R page(@RequestParam Map<String, Object> params,BisaixiangmuEntity bisaixiangmu,
HttpServletRequest request){
EntityWrapper<BisaixiangmuEntity> ew = new EntityWrapper<BisaixiangmuEntity>();
PageUtils page = bisaixiangmuService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, bisaixiangmu), params), params));
request.setAttribute("data", page);
return R.ok().put("data", page);
}
/**
* 前端列表
*/
@RequestMapping("/list")
public R list(@RequestParam Map<String, Object> params,BisaixiangmuEntity bisaixiangmu, HttpServletRequest request){
EntityWrapper<BisaixiangmuEntity> ew = new EntityWrapper<BisaixiangmuEntity>();
PageUtils page = bisaixiangmuService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, bisaixiangmu), params), params));
request.setAttribute("data", page);
return R.ok().put("data", page);
}
/**
* 列表
*/
@RequestMapping("/lists")
public R list( BisaixiangmuEntity bisaixiangmu){
EntityWrapper<BisaixiangmuEntity> ew = new EntityWrapper<BisaixiangmuEntity>();
ew.allEq(MPUtil.allEQMapPre( bisaixiangmu, "bisaixiangmu"));
return R.ok().put("data", bisaixiangmuService.selectListView(ew));
}
/**
* 查询
*/
@RequestMapping("/query")
public R query(BisaixiangmuEntity bisaixiangmu){
EntityWrapper< BisaixiangmuEntity> ew = new EntityWrapper< BisaixiangmuEntity>();
ew.allEq(MPUtil.allEQMapPre( bisaixiangmu, "bisaixiangmu"));
BisaixiangmuView bisaixiangmuView = bisaixiangmuService.selectView(ew);
return R.ok("查询比赛项目成功").put("data", bisaixiangmuView);
}
/**
* 后端详情
*/
@RequestMapping("/info/{id}")
public R info(@PathVariable("id") Long id){
BisaixiangmuEntity bisaixiangmu = bisaixiangmuService.selectById(id);
return R.ok().put("data", bisaixiangmu);
}
/**
* 前端详情
*/
@RequestMapping("/detail/{id}")
public R detail(@PathVariable("id") Long id){
BisaixiangmuEntity bisaixiangmu = bisaixiangmuService.selectById(id);
return R.ok().put("data", bisaixiangmu);
}
/**
* 后端保存
*/
@RequestMapping("/save")
public R save(@RequestBody BisaixiangmuEntity bisaixiangmu, HttpServletRequest request){
bisaixiangmu.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
//ValidatorUtils.validateEntity(bisaixiangmu);
bisaixiangmuService.insert(bisaixiangmu);
return R.ok();
}
/**
* 前端保存
*/
@RequestMapping("/add")
public R add(@RequestBody BisaixiangmuEntity bisaixiangmu, HttpServletRequest request){
bisaixiangmu.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
//ValidatorUtils.validateEntity(bisaixiangmu);
bisaixiangmuService.insert(bisaixiangmu);
return R.ok();
}
/**
* 修改
*/
@RequestMapping("/update")
public R update(@RequestBody BisaixiangmuEntity bisaixiangmu, HttpServletRequest request){
//ValidatorUtils.validateEntity(bisaixiangmu);
bisaixiangmuService.updateById(bisaixiangmu);//全部更新
return R.ok();
}
/**
* 删除
*/
@RequestMapping("/delete")
public R delete(@RequestBody Long[] ids){
bisaixiangmuService.deleteBatchIds(Arrays.asList(ids));
return R.ok();
}
/**
* 提醒接口
*/
@RequestMapping("/remind/{columnName}/{type}")
public R remindCount(@PathVariable("columnName") String columnName, HttpServletRequest request,
@PathVariable("type") String type,@RequestParam Map<String, Object> map) {
map.put("column", columnName);
map.put("type", type);
if(type.equals("2")) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Calendar c = Calendar.getInstance();
Date remindStartDate = null;
Date remindEndDate = null;
if(map.get("remindstart")!=null) {
Integer remindStart = Integer.parseInt(map.get("remindstart").toString());
c.setTime(new Date());
c.add(Calendar.DAY_OF_MONTH,remindStart);
remindStartDate = c.getTime();
map.put("remindstart", sdf.format(remindStartDate));
}
if(map.get("remindend")!=null) {
Integer remindEnd = Integer.parseInt(map.get("remindend").toString());
c.setTime(new Date());
c.add(Calendar.DAY_OF_MONTH,remindEnd);
remindEndDate = c.getTime();
map.put("remindend", sdf.format(remindEndDate));
}
}
Wrapper<BisaixiangmuEntity> wrapper = new EntityWrapper<BisaixiangmuEntity>();
if(map.get("remindstart")!=null) {
wrapper.ge(columnName, map.get("remindstart"));
}
if(map.get("remindend")!=null) {
wrapper.le(columnName, map.get("remindend"));
}
int count = bisaixiangmuService.selectCount(wrapper);
return R.ok().put("count", count);
}
}
总结
通过自己为期数周的不间断努力,该学校运动会信息管理系统的开发与设计终于接近尾声了。在网站开发过程中,让我体验了其中的苦与乐,学会了如何面临困难,如何解决问题,达到了锻炼的目的。同时,拓展了知识面,进一步加深了对软件开发的理解和认识。
在做毕业设计之前,我对学校运动会信息管理系统的理解,是停留在感官和理论水平上的,是“纸上谈兵”,虽然有一定的了解,但是总体说概念和思路并不是很明确、清楚。并且缺乏实际的开发经验。这次通过该学校运动会信息管理系统毕业设计的制作,真正给我了一次难得的锻炼机会。在整个开发过程中,遇到了很多问题,但“功夫不负有心人”,通过向指导老师、同学及上网有技术大牛交流等方法。最终,问题都被一一解决了。
在设计的过程中,后台编程方面,我个人有很大欠缺,在指导老师的推荐下,我也查阅了很多相关资料和文章,。我增长了很多知识和见解,进一步熟悉了编程、网页制作的方法以及网页制作工具的使用。通过分析,画出了网站的流程图,并且掌握了网站设计的基本步骤和方法,经历了网站规划、网站分析、网站设计等阶段。更正了以前对网站的错误认识。懂得了网站的开发与设计是网站后期维护方便与否的至关重要的因素,而且进一步理解了眼高手低的讽刺意义。课程设计过程中,因为缺少经验,出现了很多之前没预料到的问题,程序这方面大家都知道,有个字符拼写错误,程序就很可能运行不成功,这次毕业设计又一次让我真切的意识到:细心,才能事半功倍。总体看来,此网站基本达到毕业设计的内容要求,但是由于我个人能力有限,有些问题自己虽然已发现,考虑到时间及个人技术,部分问题尚未得到解决,网站仍存在许多缺点和不足。在调试过程中出现的部分问题还没能完全解决,只是避免了问题的出现。另外,对网站的制作速度太慢,工具的使用还不熟练,还有待于改善和提高。