基于SpringBoot和MySQL实现的球馆管理系统

person 匿名

发布日期: 2021-08-18 10:14:15 浏览量: 212
评分:
star star star star star star star star star star_border
*转载请注明来自write-bug.com

1.项目介绍(springboot+layui框架)

项目为球馆管理系统, 是一个球馆学员管理系统。 顾名思义就是管理球馆的学员,分别有实现基本信息的管理、体能测试,非球员体验数据处理,为了后期数据维护方便,项目采用了前后端分离结构。

技术栈

  • 前端: LayUI 框架、 FreeMarker 视图

  • 数据库: Mysql-5.7.29

  • 后端:采用 JDK1.8 开发环境,使用 Spring、Spring MVC、Mybatis 三大框架

  • 开发工具: IDEA

  • 项目管理工具: Maven

2.数据库搭建

2.1 管理员表

2.2 体能测试表

2.3 体能测试类型表

2.4 权重表

2.5 技能测试表

2.6 技能结果表

2.7 非学员表

2.8 学员表

2.9 学院类型表

2.10 E-R图

3.重点功能

3.1 跨域解决

  1. @Override
  2. protected void addCorsMappings(CorsRegistry registry) {
  3. registry.addMapping("/**")
  4. .allowedOrigins("*")
  5. .allowedMethods("GET", "HEAD", "POST","PUT", "DELETE", "OPTIONS")
  6. .allowedHeaders("*")
  7. .exposedHeaders("access-control-allow-headers", "access-control-allow-methods", "access-control-allow-origin", "access-control-max-age", "X-Frame-Options")
  8. .allowCredentials(false).maxAge(3600)
  9. .allowedHeaders(("swagger-ui.html"));
  10. super.addCorsMappings(registry);
  11. }

3.2 上传文件实现

  1. public class NginxService {
  2. public Object uploadPicture(MultipartFile uploadFile) {
  3. //1、给上传的图片生成新的文件名
  4. //1.1获取原始文件名
  5. String oldName = uploadFile.getOriginalFilename();
  6. //1.2使用IDUtils工具类生成新的文件名,新文件名 = newName + 文件后缀
  7. String newName = IDUtils.genImageName();
  8. assert oldName != null;
  9. newName = newName + oldName.substring(oldName.lastIndexOf("."));
  10. //1.3生成文件在服务器端存储的子目录
  11. String filePath = new DateTime().toString("/yyyyMMdd/");
  12. //2、把图片上传到图片服务器
  13. //2.1获取上传的io流
  14. InputStream input = null;
  15. try {
  16. input = uploadFile.getInputStream();
  17. } catch (IOException e) {
  18. e.printStackTrace();
  19. }
  20. //2.2调用FtpUtil工具类进行上传
  21. return FtpUtil.putImages(input, filePath, newName);
  22. }
  23. }

3.3 MD5加密

  1. /**
  2. \* 将源字符串通过MD5进行加密为字节数组
  3. */
  4. public static byte[] encodeToBytes(String source) {
  5. byte[] result = null;
  6. try {
  7. MessageDigest md = MessageDigest.getInstance("MD5");
  8. md.reset();//重置
  9. md.update(source.getBytes("UTF-8"));//添加需要加密的源
  10. result = md.digest();//加密
  11. }
  12. catch (NoSuchAlgorithmException e) {
  13. e.printStackTrace();
  14. } catch (UnsupportedEncodingException e) {
  15. e.printStackTrace();
  16. }
  17. return result;
  18. }
  19. /**
  20. \* 将源字符串通过MD5加密成32位16进制数
  21. */
  22. public static String encodeToHex(String source) {
  23. byte[] data = encodeToBytes(source);//先加密为字节数组
  24. StringBuffer hexSb = new StringBuffer();
  25. for (int i = 0; i < data.length; i++) {
  26. String hex = Integer.toHexString(0xff & data[i]);
  27. if (hex.length() == 1) {
  28. hexSb.append("0");
  29. }
  30. hexSb.append(hex);
  31. }
  32. return hexSb.toString();
  33. }
  34. /**
  35. \* 验证字符串是否匹配
  36. */
  37. public static boolean validate(String unknown , String okHex) {
  38. return okHex.equals(encodeToHex(unknown));
  39. }

5.系统测试

登陆页面

主页

统计表页面

学员管理

添加学员

非学员管理

标签管理

管理员管理

修改密码

学员数据统计

上传的附件 cloud_download baskillbox.zip ( 5.58mb, 1次下载 ) cloud_download 球馆管理系统项目介绍(springboot+layui框架).pdf ( 1.33mb, 1次下载 )
error_outline 下载需要12点积分
eject