Java项目:springboot健身房管理系统

news2024/12/24 10:15:18

作者主页:源码空间站2022

 简介:Java领域优质创作者、Java项目、学习资料、技术互助

文末获取源码

项目介绍

本项目为后台管理系统;
主要功能如下:
管理员登录模块
会员管理模块
教练管理模块
课程管理模块
器材管理模块
物品遗失管理模块
商品管理模块

信息统计模块

环境需要

1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。
2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;
3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可
4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS;
5.数据库:MySql 5.7版本;

6.是否Maven项目: 是;

技术栈

web框架:SpringBoot
数据库框架:Sping Data JPA
数据库:MySql
项目构建工具:Maven
前端模板:JSP
安全框架:Shiro
前端框架:BootStrap,Layui

数据图表:ECharts

使用说明

1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;
若为maven项目,导入成功后请执行maven clean;maven install命令,配置tomcat,然后运行;
3. 将项目中application.properties配置文件中的数据库配置改为自己的配置;
4. 运行成功后,访问http://localhost:8090/ 到登录页面

管理员用户名:admin 密码:123456

运行截图

代码相关

教练管理控制器

@Controller
@RequestMapping("/coach")
public class CoachController {
   @Autowired
   private CoachDao coachDao;
   @Autowired
   private PrivateCoachInfoDao privateCoachInfoDao;
   @Autowired
   private CoachDaoImpl coachDaoImpl;

    /**
     * @Description: 教练管理-进入教练列表界面
     */
    @RequestMapping("/jin3")
    public String jin3(){

        return "WEB-INF/jsp/coach";
    }

    /**
     * @Description: 教练管理-根据教练姓名分页查询
     */
    @RequestMapping("/query")
    @ResponseBody
    public Map<String,Object> query(String coachname, int pageSize, int pageNumber){
        Map<String,Object>  map1=new HashMap<String,Object>();
        map1.put("coachname",coachname);
        map1.put("qi",(pageNumber-1)*pageSize);
        map1.put("shi",pageSize);
        return coachDaoImpl.query(map1);
    }

    /**
     * @Description: 教练管理-根据教练id删除教练信息
     */
    @RequestMapping("/del")
    @ResponseBody
    public  Map<String,Object> del(long id,String coachname, int pageSize, int pageNumber){

        //先根据教练id在私教信息表里查询是否有其信息
        List<PrivateCoachInfo> privateCoachInfoList = privateCoachInfoDao.queryByCoachIdNative(id);
        if(privateCoachInfoList !=null && privateCoachInfoList.size() > 0){
            //如果有,先循环删除
            for(PrivateCoachInfo privateCoachInfo : privateCoachInfoList){
                if(id == privateCoachInfo.getCoach().getCoachId()){
                    privateCoachInfoDao.delete(privateCoachInfo);
                }
            }
        }
        coachDao.deleteById(id);
        Map<String,Object>  map1=new HashMap<String,Object>();
        map1.put("coachname",coachname);
        map1.put("qi",(pageNumber-1)*pageSize);
        map1.put("shi",pageSize);
        return coachDaoImpl.query(map1);
    }

    /**
     * @Description: 教练管理-根据教练姓名计算总数据数量
     */
    @RequestMapping("/count")
    @ResponseBody
    public Long count (String coachName){
        coachDaoImpl.count(coachName);
        return  coachDaoImpl.count(coachName);
    }

    /**
     * @Description: 教练管理-添加新教练
     * @Author: LiuJian
     * @Date: 2020/4/9
     */
    @RequestMapping("/add")
    @ResponseBody
    public  void save(Coach coach){
        coachDao.save(coach);
    }

    /**
     * @Description: 教练管理-根据教练id查询
     */
    @RequestMapping("/cha")
    @ResponseBody
    public Optional<Coach> one(long id){
        return coachDao.findById(id);
    }

    /**
     * @Description: 教练管理-修改教练信息
     */
    @RequestMapping("/upd")
    @ResponseBody
    public  void upd(Coach coach){
        coachDao.save(coach);
    }


}

器材管理控制器

@Controller
@RequestMapping("/qc")
public class EquipmentController {
    @Autowired
    private EquipmentDaoImpl equipmentDao;

    /**
     * @Description: 器材管理-进入器材信息界面
     */
    @RequestMapping("/yemian")
    public String yemian(){

        return "WEB-INF/jsp/CEquipment";
    }

    /**
     * @Description: 器材管理-根据器材名称分页查询
     */
    @RequestMapping("/query")
    @ResponseBody
    public Map<String,Object> query(String hyname, int pageSize, int pageNumber){
        Map<String,Object>  map1=new HashMap<String,Object>();
        map1.put("hyname",hyname);
        map1.put("qi",(pageNumber-1)*pageSize);
        map1.put("shi",pageSize);
        return equipmentDao.query(map1);
    }

    /**
     * @Description: 器材管理-添加器材
     * @Author: LiuJian
     * @Date: 2020/4/12
     */
    @RequestMapping("/insert")
    @ResponseBody
    public Map<String,Object> insert(Equipment equipment){
        equipmentDao.insert(equipment);
        return query("",5,1);
    }

    /**
     * @Description: 器材管理-根据器材id删除
     */
    @RequestMapping("/delete")
    @ResponseBody
    public Map<String,Object> del(int eqId){
        equipmentDao.del(eqId);
        return query("",5,1);
    }
}

 遗失物品管理控制器

@Controller
@RequestMapping("/loos")
public class LoosController {
   @Autowired
    private LoosDaoImpl loosDaoImpl;
   @Autowired
   private LoosDao loosDao;

    /**
     * @Description: 遗失物品管理-进入遗失物品信息界面
     */
    @RequestMapping("/jin9")
    public String jin7(){

        return "WEB-INF/jsp/loos";
    }

    /**
     * @Description: 遗失物品管理-根据遗失物品名称分页查询
     */
    @RequestMapping("/query")
    @ResponseBody
    public Map<String,Object> query(String loosName, int pageSize, int pageNumber){
        Map<String,Object>  map1=new HashMap<String,Object>();
        map1.put("loosName",loosName);
        map1.put("qi",(pageNumber-1)*pageSize);
        map1.put("shi",pageSize);
        return loosDaoImpl.query(map1);
    }

    /**
     * @Description: 遗失物品管理-添加遗失物品
     */
    @RequestMapping("/add")
    @ResponseBody
    public  void save(Loos loos){
        loosDao.save(loos);
    }

    /**
     * @Description: 遗失物品管理-根据遗失物品id查询信息
     */
    @RequestMapping("/query3")
    @ResponseBody
    public List<Loos> query3(long loosId){
        List<Loos> list  = new ArrayList<Loos>();
        list.add(loosDao.findById(loosId).get());
        return list;
    }

    /**
     * @Description: 遗失物品管理-取回遗失物品修改其信息
     */
    @RequestMapping("/quhui")
    @ResponseBody
    public  void upd(Loos loos){
        loosDaoImpl.update(loos);
    }

    /**
     * @Description: 遗失物品管理-根据遗失物品id查询单个物品信息
     */
    @RequestMapping("/cha")
    @ResponseBody
    public Optional<Loos> one(Long loosId){
        Optional<Loos> loos =loosDao.findById(loosId);
        return loos;
    }

}

如果也想学习本系统,下面领取。回复:088springboot

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/115053.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

一些常见的移动端适配方案,你了解吗?

前言 移动端设备的尺寸很多&#xff0c;而 UI 设计稿一般只会基于一个尺寸&#xff08;一般是 375px 或 750px &#xff09;进行设计。 目前移动端适配方案有多种&#xff0c;本文将介绍一些具有代表性的适配方案。 媒体查询 media CSS3 中的媒体查询属性 media 分别为不同…

量子计算(十七):量子计算机硬件

文章目录 量子计算机硬件 一、量子芯片支持系统 二、量子计算机控制系统 量子计算机硬件 量子计算机的核心——量子芯片&#xff0c;具有多种不同的呈现形式。绝大多数量子芯片&#xff0c;名副其实地&#xff0c;是一块芯片&#xff0c;由集成在基片表面的电路结构构建出包…

关于 Camera 开始 Tuning 时的一些注意事项

1、问题背景&#xff1a; 最近有调试一个体感游戏机上带 Camera 的项目&#xff0c;原定搭配 ov13855 这颗 sensor, 但由于各种各样的问题&#xff0c;导致做了很多无用功&#xff0c;且各种延期。 本文主要总结下此次项目遇到的问题&#xff0c;及产品开始 tuning 时的一些注意…

【折腾服务器 4】ESXi 中 Ubuntu 安装 NPS 客户端 ( NPC )

Catch Up 书接上回&#xff0c;上一章中&#xff0c;群晖已经能定期给 Windows 物理机服务器做备份了&#xff0c;但是依然无法从外网访问服务器上的内容&#xff0c;本篇讲述如何在 Ubuntu 中安装 NPS 客户端&#xff0c;也就是所谓的 NPC ( Client )。 Chapter 1 准备一个 …

C#语言实例源码系列-实现FTP下载文件

专栏分享点击跳转>Unity3D特效百例点击跳转>案例项目实战源码点击跳转>游戏脚本-辅助自动化点击跳转>Android控件全解手册 &#x1f449;关于作者 众所周知&#xff0c;人生是一个漫长的流程&#xff0c;不断克服困难&#xff0c;不断反思前进的过程。在这个过程中…

SpringSecurity(十)【CSRF 漏洞保护】

十、CSRF 漏洞保护 简介 CSRF&#xff08;Cross-Site Request Forgery 跨站请求伪造&#xff09;&#xff0c;也可称为一键式攻击&#xff08;one-click-attack&#xff09;通常缩写为 CSRF 或者 XSRF。CSRF 攻击是一种挟持用户在当前已登录的浏览器上&#xff0c;发送恶意请求…

Python绘制地磁场

文章目录简介磁场绘制简介 为国际参考磁场对Python的封装&#xff0c;可通过经纬高度以及时间来计算地磁场强度&#xff0c;使用方法简单粗暴&#xff0c;如下 import pyIGRF pyIGRF.igrf_value(lat, lon, alt, date)参数含义为 lat 纬度lon 经度alt 海拔date 日期&#xff…

vuejs中组件的两种不同的编写风格-选项式API及组合式API

前言随着vue3的逐渐稳定,以及周边生态的完善,现在vue3已经成为默认的使用方式了的所以,对于一个前端开发者,Vue2与Vue3都得要会,在vue3中新增很多东西,比如:Fragment,Teleport,Suspense,也去掉了vue2中一些特性,比如:移除keyCode支持作为v-on的修饰符等在编程风格上也有一些区别…

Java项目:springBoot+Vue汽车销售管理系统

作者主页&#xff1a;源码空间站2022 简介&#xff1a;Java领域优质创作者、Java项目、学习资料、技术互助 文末获取源码 项目介绍 本项目基于spring boot以及Vue开发&#xff0c;为前后端分离的项目。针对汽车销售提供客户信息、车辆信息、订单信息、销售人员管理、财务报表等…

【Python百日进阶-数据分析】Day138 - plotly甘特图:px.timeline()

文章目录一、语法二、参数三、返回值四、实例4.1 带有 plotly.express 的甘特图和时间表4.1.1 普通甘特图4.1.2 px.timeline 的离散颜色4.1.3 px.timeline 的连续颜色4.1.4 同一水平线上有多个条4.1.5 Dash中使用甘特图一、语法 甘特图是一种条形图&#xff0c;用于说明项目进…

【C++高阶数据结构】并查集

&#x1f3c6;个人主页&#xff1a;企鹅不叫的博客 ​ &#x1f308;专栏 C语言初阶和进阶C项目Leetcode刷题初阶数据结构与算法C初阶和进阶《深入理解计算机操作系统》《高质量C/C编程》Linux ⭐️ 博主码云gitee链接&#xff1a;代码仓库地址 ⚡若有帮助可以【关注点赞收藏】…

Linux之top命令详解

Linux之top命令详解 一、简单介绍 top是Linux性能分析工具&#xff0c;显示系统占用资源情况&#xff0c;和windows的任务管理器一样。top动态显示进程暂用资源情况&#xff0c;top对系统处理器的状态监视&#xff0c;它将显示CPU任务列表&#xff0c;按照CPU使用、内存使用和…

You are not allowed to create a user with GRANT

8.0之后的mysql不支持授权的时候就进行用户创建&#xff0c;所以创建之后才能授权; USE mysqlSELECT USER, PASSWORD, HOST FROM USER;SELECT USER ,grant_priv FROM USERCREATE USER zjy IDENTIFIED BY 123456; #host默认是%GRANT ALL PRIVILEGES ON *.* TO zjy% MySql-Ser…

【正点原子I.MX6U-MINI移植篇】rootfs移植过程详解(三)

Linux三巨头己经完成了2个了&#xff0c;就剩最后一个rootfs&#xff08;根文件系统&#xff09;了&#xff0c;根文件系统的组成以及如何构建根文件系统是Liux移植的最后一步&#xff0c;根文件系统构建好以后就意味着我们己经拥有了一个完整的、可以运行的最小系统。以后我们…

智慧工地车辆未冲洗抓拍系统 opencv+yolo

智慧工地车辆未冲洗抓拍系统利用opencvyolo网络深度学习架构模型对现场画面中车辆的冲洗情况实现智能识别。OpenCV基于C实现&#xff0c;同时提供python, Ruby, Matlab等语言的接口。OpenCV-Python是OpenCV的Python API&#xff0c;结合了OpenCV CAPI和Python语言的最佳特性。O…

微信防撤回功能修改

今天无意之中看到了一个帖子&#xff0c;谈到了有关微信消息撤回的。突发奇想实现一下&#xff0c;以后就不怕错过朋友的消息了。 首先介绍一下基本思路&#xff0c;由于微信采用的是CS端原理&#xff0c;所有的数据请求均通过服务器&#xff0c;客户端只是响应指令而已。 A向…

实验三:自主存取控制实验

【实验目的】 掌握自主存取控制权限的定义和维护方法。掌握在ORACLE数据库中定义用户、角色&#xff0c;分配权限给用户、角色&#xff0c;回收权限&#xff0c;以相应用户登录数据库验证权限分配是否正确的方法。 【实验内容】 设有一个企业&#xff0c;由总裁负责管理采购、…

【Pandas指南】Series

Pandas数据结构简介 - Series 来源&#xff1a;Pandas官网&#xff1a;https://pandas.pydata.org/docs/getting_started/intro_tutorials/index.html 笔记托管&#xff1a;https://gitee.com/DingJiaxiong/machine-learning-study 下面将从对 pandas 中的基本数据结构进行快速…

Git Bash Here和RStudio软件的问题解决

Git Bash Here和RStudio软件的问题解决 文章目录Git Bash Here和RStudio软件的问题解决0、 写在前面1、Git软件在任务栏图标空白2、RStudio软件2.1 警告信息InormalizePath(path.expand(path),winslash,mustWork)2.2 incomplete final line found by readTableHeader on报错3、…

推荐两个go语言的websocket库

最近在写一个需要前后端保持通信的服务。前端要能及时感知后端数据的变化&#xff0c;后端要及时处理前端发过来的指令。这种服务就需要用到websocket了。 以前在写websocket相关的程序时&#xff0c;一直在用gorilla/websocket这个库&#xff0c;这个库事实上已经成为了go语言…