基于javaweb+mysql的springboot健身管理系统(java+springboot+mysql+jsp)
私信源码获取及调试交流
运行环境
Java≥8、MySQL≥5.7
开发工具
eclipse/idea/myeclipse/sts等均可配置运行
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明
基于javaweb的SpringBoot健身管理系统(java+springboot+mysql+jsp)
主要技术:springmvc、 springboot 、jpa、mysql 、jQuery、layui、css、jsp shiro权限控制
主要功能截图如下:
用户登录、首页主要功能有:会员信息管理、会员到期续费管理、充值管理、教练课程管理、私教管理、器材管理、小商品售卖管理、信息统计、修改密码等主要功能:
会员管理、续卡、会员卡类型管理:
教练列表展示和添加修改删除教练信息:
会员私教课程管理:
添加私教信息:
健身课程列表展示查询和添加修改:
健身器材列表展示查询和添加修改:
物品遗失管理、归还、添加丢失物品、查询、取回丢失物品等:
健身房小商品售卖管理:列表数据展示、查询、进货、售卖 退货等操作
简单的树状图统计:
代码:
数据库表:
/**
* @Description: 会员充值管理Controller控制层
* xiaoc
*/
@Controller
@RequestMapping("/cz")
public class chongzhiController {
@Autowired
private chongzhiDao chongzhiDao;
@Autowired
private MenberDao menberDao;
@Autowired
private MenberDaoImpl menberDaoImpl;
@PersistenceContext
private EntityManager entityManager;
/**
* @Description: 会员充值管理-进入会员充值记录界面
* xiaoc
*/
@RequestMapping("/jin")
* xiaoc
*/
@RequestMapping("/del")
@ResponseBody
public Map<String,Object> del(long subId,String subname, int pageSize, int pageNumber){
//先根据教练id在私教信息表里查询是否有其信息
List<PrivateCoachInfo> privateCoachInfoList = privateCoachInfoDao.queryBySubjectIdNative(subId);
if(privateCoachInfoList !=null && privateCoachInfoList.size() > 0){
//如果有,先循环删除
for(PrivateCoachInfo privateCoachInfo : privateCoachInfoList){
if(subId == privateCoachInfo.getSubject().getSubId()){
privateCoachInfoDao.delete(privateCoachInfo);
}
}
}
subjectDao.deleteById(subId);
Map<String,Object> map1=new HashMap<String,Object>();
map1.put("subname",subname);
map1.put("qi",(pageNumber-1)*pageSize);
map1.put("shi",pageSize);
return subjectDaoImpl.query(map1);
}
/**
* @Description: 课程管理-添加课程
* xiaoc
*/
@RequestMapping("/add")
@ResponseBody
public void save(Subject subject){
subjectDao.save(subject);
}
/**
* @Description: 课程管理-根据课程id查询课程信息
* xiaoc
*/
@RequestMapping("/cha")
@ResponseBody
public Optional<Subject> one(long subId){
return subjectDao.findById(subId);
}
/**
/**
* @Description: 管理员登录Controller控制层
* xiaoc
*/
@Controller
@RequestMapping("/")
public class AdminuserConntroller {
@Autowired
private AdminuserDao adminuserDao;
/**
* @Description: 输入端口号直接跳转登录界面
* xiaoc
*/
@RequestMapping("/")
public String beforeLogin(){
return "login";
}
/**
* @Description: 管理员登录验证方法
* xiaoc
*/
/**
* @Description: 教练管理-进入会员私教详情界面
* xiaoc
*/
@RequestMapping("/jin4")
public String jin4(){
return "WEB-INF/jsp/privatecoachinfo";
}
/**
* @Description: 会员列表-分页查询
* xiaoc
*/
@RequestMapping("/query")
@ResponseBody
public Map<String,Object> query(int ktype,String hyname, int pageSize, int pageNumber){
Map<String,Object> map1=new HashMap<String,Object>();
map1.put("hyname",hyname);
map1.put("ktype",ktype);
map1.put("qi",(pageNumber-1)*pageSize);
map1.put("shi",pageSize);
return menberDaoiImpl.query(map1);
}
/**
* @Description: 会员到期-分页查询
* xiaoc
*/
@RequestMapping("/query2")
@ResponseBody
public Map<String,Object> query2(int ktype,String hyname, int pageSize, int pageNumber){
Map<String,Object> map1=new HashMap<String,Object>();
map1.put("hyname",hyname);
map1.put("ktype",ktype);
map1.put("qi",(pageNumber-1)*pageSize);
map1.put("shi",pageSize);
return menberDaoiImpl.query2(map1);
}
/**
@ResponseBody
public Map<String,Object> del(long typeId,String typeName, int pageSize, int pageNumber){
memberttypeDao.deleteById(typeId);
Map<String,Object> map1=new HashMap<String,Object>();
map1.put("typeName",typeName);
map1.put("qi",(pageNumber-1)*pageSize);
map1.put("shi",pageSize);
return membertypeDaoImpl.query(map1);
}
/**
* @Description: 会员卡类型-添加会员卡类型
* xiaoc
*/
@RequestMapping("/add")
@ResponseBody
public void save(Membertype membertype){
memberttypeDao.save(membertype);
}
/**
* @Description: 会员卡类型-根据id查询
* xiaoc
*/
@RequestMapping("/cha")
@ResponseBody
public Optional<Membertype> one(long typeId){
return memberttypeDao.findById(typeId);
}
/**
* @Description: 会员卡类型-修改会员卡类型信息
* xiaoc
*/
@RequestMapping("/upd")
@ResponseBody
public void upd(Membertype membertype){
memberttypeDao.save(membertype);
}
}
@ResponseBody
public Optional<Member> two(long id){
return menberDao.findById(id);
}
}
/**
* @Description: 遗失物品管理Controller控制层
* xiaoc
*/
@Controller
@RequestMapping("/loos")
public class LoosController {
@Autowired
private LoosDaoImpl loosDaoImpl;
@Autowired
private LoosDao loosDao;
/**
* @Description: 遗失物品管理-进入遗失物品信息界面
* xiaoc
*/
@RequestMapping("/jin9")
public String jin7(){
return "WEB-INF/jsp/loos";
}
/**
* @Description: 遗失物品管理-根据遗失物品名称分页查询
* xiaoc
*/
@RequestMapping("/query")
@ResponseBody
public Map<String,Object> query(String loosName, int pageSize, int pageNumber){
Map<String,Object> map1=new HashMap<String,Object>();
/**
* @Description: 器材管理Controller控制层
* xiaoc
*/
@Controller
@RequestMapping("/qc")
public class EquipmentController {
@Autowired
private EquipmentDaoImpl equipmentDao;
/**
* @Description: 器材管理-进入器材信息界面
* xiaoc
*/
@RequestMapping("/yemian")
public String yemian(){
return "WEB-INF/jsp/CEquipment";
}
/**
* @Description: 器材管理-根据器材名称分页查询
* xiaoc
*/
@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: 器材管理-添加器材
* xiaoc
*/
@RequestMapping("/jin3")
public String jin3(){
return "WEB-INF/jsp/privatecoach";
}
/**
* @Description: 会员私教课程-根据私教姓名分页查询
* xiaoc
*/
@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: 会员私教课程-查询所有会员信息
* xiaoc
*/
@RequestMapping("/query2")
@ResponseBody
public List<Member> query2(){
return menberDao.findAll();
}
/**
* @Description: 会员私教课程-查询教练,课程,会员所有信息
* xiaoc
*/
@RequestMapping("/topcoach")
@ResponseBody
*/
@RequestMapping("/add")
@ResponseBody
public void save(GoodInfo goodInfo){
goodInfoDao.save(goodInfo);
}
/**
* @Description: 商品售卖信息管理-根据商品id查询商品售卖信息
* xiaoc
*/
@RequestMapping("/cha")
@ResponseBody
public Optional<GoodInfo> one(long goodsId){
return goodInfoDao.findById(goodsId);
}
/**
* @Description: 商品售卖信息管理-根据商品id查询商品信息
* xiaoc
*/
@RequestMapping("/chagoods")
@ResponseBody
public Optional<Goods> oneg(long goodsId){
return goodsDao.findById(goodsId);
}
/**
* @Description: 商品售卖信息管理-根据会员id查询会员信息
* xiaoc
*/
@RequestMapping("/chamember")
@ResponseBody
public Optional<Member> onem(long memberId){
return menberDao.findById(memberId);
}
/**
* @Description: 商品售卖信息管理-修改商品售卖信息
* xiaoc
* xiaoc
*/
@RequestMapping("/delete")
@ResponseBody
public Map<String,Object> del(int eqId){
equipmentDao.del(eqId);
return query("",5,1);
}
}
/**
* @Description: 会员卡类型Controller控制层
* xiaoc
*/
@Controller
@RequestMapping("/ktype")
public class MembertypeController {
@Autowired
private MembertypeDaoImpl membertypeDaoImpl;
/**
* @Description: 会员卡类型-进入jsp页面
* xiaoc
*/
@RequestMapping("/jin5")
* xiaoc
*/
@RequestMapping("/spinfo")
public String spinfo(){
return "WEB-INF/jsp/GoodInfo";
}
/**
* @Description: 商品售卖信息管理-根据商品id,会员id查询商品售卖信息
* xiaoc
*/
@RequestMapping("/query")
@ResponseBody
public Map<String,Object> query(Integer goodsid,Integer memberid, int pageSize, int pageNumber){
Map<String,Object> map1=new HashMap<String,Object>();
map1.put("goodsid",goodsid);
map1.put("memberid",memberid);
map1.put("qi",(pageNumber-1)*pageSize);
map1.put("shi",pageSize);
return goodInfoDaoImpl.query(map1);
}
/**
* @Description: 商品售卖信息管理-根据商品id,会员id删除信息
* xiaoc
*/
@RequestMapping("/del")
@ResponseBody
public Map<String,Object> del(long id,Integer goodsid,Integer memberid,int pageSize, int pageNumber){
goodInfoDao.deleteById(id);
Map<String,Object> map1=new HashMap<String,Object>();
map1.put("goodsid",goodsid);
map1.put("memberid",memberid);
map1.put("qi",(pageNumber-1)*pageSize);
map1.put("shi",pageSize);
return goodInfoDaoImpl.query(map1);
}
/**
* @Description: 商品售卖信息管理-根据商品id,会员id批量删除信息
* xiaoc
@Autowired
private CoachDao coachDao;
@Autowired
private PrivateCoachInfoDao privateCoachInfoDao;
@Autowired
private CoachDaoImpl coachDaoImpl;
/**
* @Description: 教练管理-进入教练列表界面
* xiaoc
*/
@RequestMapping("/jin3")
public String jin3(){
return "WEB-INF/jsp/coach";
}
/**
* @Description: 教练管理-根据教练姓名分页查询
* xiaoc
*/
@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删除教练信息
* xiaoc
*/
@RequestMapping("/del")
@ResponseBody
public Map<String,Object> del(long id,String coachname, int pageSize, int pageNumber){
/**
* @Description: 商品售卖信息管理Controller控制层
* xiaoc
*/
@Controller
@RequestMapping("/goodinfo")
public class GoodInfoController {
@Autowired
private GoodInfoDao goodInfoDao;
@Autowired
private GoodsDao goodsDao;
@Autowired
private GoodInfoDaoImpl goodInfoDaoImpl;
@Autowired
private MenberDao menberDao;
@Autowired
private GoodsDaoImpl goodsDaoImpl;
@Autowired
private MenberDaoImpl menberDaoImpl;
/**
* @Description: 商品售卖信息管理-进入商品售卖信息界面
* xiaoc
*/
@RequestMapping("/spinfo")
public String spinfo(){
return "WEB-INF/jsp/GoodInfo";
}
*/
@Controller
@RequestMapping("/goods")
public class GoodsController {
@Autowired
private GoodsDao goodsDao;
@Autowired
private GoodInfoDao goodInfoDao;
@Autowired
private GoodsDaoImpl goodsDaoImpl;
/**
* @Description: 商品管理-进入商品列表界面
* xiaoc
*/
@RequestMapping("/sp")
public String sp(){
return "WEB-INF/jsp/Goods";
}
/**
* @Description: 商品管理-根据商品名称分页查询
* xiaoc
*/
@RequestMapping("/query")
@ResponseBody
public Map<String,Object> query(String goodsname, int pageSize, int pageNumber){
Map<String,Object> map1=new HashMap<String,Object>();
map1.put("goodsname",goodsname);
map1.put("qi",(pageNumber-1)*pageSize);
map1.put("shi",pageSize);
return goodsDaoImpl.query(map1);
}
/**
* @Description: 商品管理-查询所有商品信息
* xiaoc
*/
@RequestMapping("/query2")
@ResponseBody
public List<Goods> query2(){
List list = goodsDao.findAll();
return list;
}
@Autowired
private PrivateCoachInfoDao privateCoachInfoDao;
/**
* @Description: 课程管理-进入课程信息界面
* xiaoc
*/
@RequestMapping("/jin7")
public String jin7(){
return "WEB-INF/jsp/subject";
}
/**
* @Description: 课程管理-根据课程名称分页查询
* xiaoc
*/
@RequestMapping("/query")
@ResponseBody
public Map<String,Object> query(String subname, int pageSize, int pageNumber){
Map<String,Object> map1=new HashMap<String,Object>();
map1.put("subname",subname);
map1.put("qi",(pageNumber-1)*pageSize);
map1.put("shi",pageSize);
return subjectDaoImpl.query(map1);
}
/**
* @Description: 课程管理-根据课程id删除课程
* xiaoc
*/
@RequestMapping("/del")
@ResponseBody
public Map<String,Object> del(long subId,String subname, int pageSize, int pageNumber){
//先根据教练id在私教信息表里查询是否有其信息
List<PrivateCoachInfo> privateCoachInfoList = privateCoachInfoDao.queryBySubjectIdNative(subId);
if(privateCoachInfoList !=null && privateCoachInfoList.size() > 0){
//如果有,先循环删除
for(PrivateCoachInfo privateCoachInfo : privateCoachInfoList){
if(subId == privateCoachInfo.getSubject().getSubId()){
privateCoachInfoDao.delete(privateCoachInfo);
}
}
/**
* @Description: 遗失物品管理Controller控制层
* xiaoc
*/
@Controller
@RequestMapping("/loos")
public class LoosController {
@Autowired
private LoosDaoImpl loosDaoImpl;
@Autowired
private LoosDao loosDao;
/**
* @Description: 遗失物品管理-进入遗失物品信息界面
* xiaoc
*/
@RequestMapping("/jin9")
public String jin7(){
return "WEB-INF/jsp/loos";
}
/**
* @Description: 遗失物品管理-根据遗失物品名称分页查询
* xiaoc
*/
@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);
}
@Autowired
private chongzhiDao chongzhiDao;
@Autowired
private MenberDao menberDao;
@Autowired
private MenberDaoImpl menberDaoImpl;
@PersistenceContext
private EntityManager entityManager;
/**
* @Description: 会员充值管理-进入会员充值记录界面
* xiaoc
*/
@RequestMapping("/jin")
public String jin(){
return "WEB-INF/jsp/HYMemberjilu";
}
/**
* @Description: 信息统计-进入收入统计界面
* xiaoc
*/
@RequestMapping("/jin2")
public String jin2(){
return "WEB-INF/jsp/ShouRuTongji";
}
/**
* @Description: 会员余额充值
* xiaoc
*/
@RequestMapping("/xin")
@ResponseBody
public Map<String,Object> cye(Chongzhi chongzhi){
return "WEB-INF/jsp/coach";
}
/**
* @Description: 教练管理-根据教练姓名分页查询
* xiaoc
*/
@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删除教练信息
* xiaoc
*/
@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: 教练管理-根据教练姓名计算总数据数量
* xiaoc