作者主页:夜未央5788

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

文末获取源码

项目介绍

本项目代码架构设计简单,注释齐全,结构清晰,适合同为java初学者参考。
cinema项目是一套电影院会员管理系统,使用前后端分离架构开发,前端基于Vue.js+Element UI技术,后端使用springboot+mybatis实现,包含管理员、会员管理、会员卡管理、电影票、消费记录、数据统计等模块

环境需要

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.是否Maven项目: 是;查看源码目录中是否包含pom.xml;若包含,则为maven项目,否则为非maven项目 
6.数据库:MySql 5.7版本;

技术栈

1. 后端:springboot+mybatis

2. 前端:vue.js+element-ui

使用说明

* 数据库文件cinema.sql已整合到项目中,使用mysql导入即可生成数据库

* 本项目已经整合了前后端,前端文件经过webpack构建后,生成了static文件夹和index.html放入了webapp下。
* 要对前端页面进行修改,修改完成后同样将生成的文件放到本项目的webapp下。

* 需上交的程序设计文档可参考目录下:电影院会员管理系统说明文档.docx

运行项目

* 方法一: cinema项目中已经整合了vue打包的静态资源,直接启动项目,并在浏览器上输入http://localhost:8081/cinema 即可运行。
1. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;若为maven项目,导入成功后请执行maven clean;maven install命令,下载所需jar包;
2. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
3. 将项目中db.properties配置文件中的数据库配置改为自己的配置
4. 配置tomcat,然后运行项目,输入http://localhost:8081/cinema  登录
5. 账户:admin  密码:123123

* 方法二: cinema-web项目是cinema项目的vue单页面前端项目,可以在文件夹目录下命令行输入:
`npm run install` 
`npm run dev`

后,修改utils/request.js下baseURL=”/api”,开启node反向代理服务器,解决跨域问题,然后启动cinema后端项目,在浏览器上输入 http://localhost:8080 即可以前后端分离方式运行(也可以npm run build后将dist文件夹放到nginx下运行)

运行截图

代码相关

会员管理控制器

@CrossOrigin
@RestController
public class CardController {@ResourceCardService cardService;@RequestMapping("getCardData")public CinemaResult getCardData(String memberId, String pageIndex, String pageSize) {//这里使用分页插件pagehelperPageResult pageResult = new PageResult();PageHelper.startPage(Integer.parseInt(pageIndex), Integer.parseInt(pageSize));List lists = cardService.getCardData(memberId);PageInfo<Card> pageInfo = new PageInfo<>(lists);pageResult.setList(pageInfo.getList());pageResult.setPageTotal(pageInfo.getTotal());return CinemaResult.ok(pageResult);}/*** //注册会员卡,请求参数无,返回状态* export const registerCard = query=>{* return request({* url:"registerCard",* method:'get',* params:query* });* };*/@RequestMapping("registerCard")public CinemaResult registerCard(String memberId) {cardService.registerCard(memberId);return CinemaResult.ok();}/*** //补卡,请求参数卡号id,返回新卡id号,并提示会员* export const reissueCard = query=>{* return request({* url:"reissueCard",* method:'post',* params:query* });* };*/@RequestMapping("reissueCard")public CinemaResult reissueCard(String cardId) {cardId = cardService.reissueCard(cardId);return CinemaResult.ok(cardId);}/*** //挂失会员卡,请求参数id,返回状态* export const loseCard = query=>{* return request({* url:"loseCard",* method:'post',* params:query* });* };*/@RequestMapping("loseCard")public CinemaResult loseCard(String cardId) {cardService.loseCard(cardId);return CinemaResult.ok();}/*** //解挂会员卡,请求参数卡号,返回状态* export const cancelCard = query=>{* return request({* url:"cancelCard",* method:'post',* params:query* });* };*/@RequestMapping("cancelCard")public CinemaResult cancelCard(String cardId) {cardService.cancelCard(cardId);return CinemaResult.ok();}/*** //充值会员卡,请求卡号、参数金额,返回状态* export const rechargeCard = query=>{* return request({* url:"rechargeCard",* method:'post',* params:query* });* };*/@RequestMapping("rechargeCard")public CinemaResult rechargeCard(String cardId, String value) {cardService.rechargeCard(cardId, Integer.parseInt(value));return CinemaResult.ok();}/*** //消费,请求参数卡号、金额、消费类型,返回状态* export const consumeCard = query=>{* return request({* url:"consumeCard",* method:'post',* params:query* });* };*/@RequestMapping("consumeCard")public CinemaResult consumeCard(String cardId, String price, String integral) {cardService.consumeCard(cardId, Integer.parseInt(price), Integer.parseInt(integral));return CinemaResult.ok();}/*** //积分兑换,请求参数:会员id,积分* //由于是总积分兑换,所以需要将消耗积分分散到所有卡上面* export const exchangeIntegral = query=>{* return request({* url:"exchangeIntegral",* method:'post',* params:query* });* };*/@RequestMapping("exchangeIntegral")public CinemaResult exchangeIntegral(String memberId, String integral) {cardService.exchangeIntegral(memberId, Integer.parseInt(integral));return CinemaResult.ok();}/***  //通过模糊条件查询到cardId,请求参数memberId,CardId,返回CardId列表* export const getCardIdByFuzzyQuery = query=>{*     return request({*         url:"getCardIdByFuzzyQuery",*         method:'post',*         params:query*     });* };*/@RequestMapping("getCardIdByFuzzyQuery")public CinemaResult getCardIdByFuzzyQuery(String memberId,String cardId) {return CinemaResult.ok(cardService.getCardIdByFuzzyQuery(memberId,cardId));}/***  //通过完整cardid来查询card数据,返回Card对象* export const getCardByCardId = query=>{*     return request({*         url:"getCardByCardId",*         method:'post',*         params:query*     });* };*/@RequestMapping("getCardByCardId")public CinemaResult getCardByCardId(String cardId) {return CinemaResult.ok(cardService.getCardByCardId(cardId));}
}

统计管理控制器

@CrossOrigin
@RestController
public class StatisticController {@ResourceMemberService memberService;@ResourceCardService cardService;@ResourceRecordService recordService;
/*** //获取统计数字数据,请求参数无* export const statisticData = query=>{*     return request({*         url:'getStatisticData',*         method:'get',*         params:query*     });* };*/@RequestMapping("getStatisticData")public CinemaResult getStatisticData(){StatisticData s = new StatisticData();s.setMemberNum(memberService.getMemberNum());s.setCardNum(cardService.getCardNum());s.setMovieNum(recordService.getMovieNum());return CinemaResult.ok(s);}/***  //获取消费充值等金额数据,请求参数无* export const requestDealData = query=>{*     return request({*         url:'requestDealData',*         method:'get',*         params:query*     });* };*/@RequestMapping("requestDealData")public CinemaResult requestDealData(){DealData dealData = new DealData();dealData.setConsume(recordService.getConsumeCount()*-1);dealData.setIntegral(recordService.getIntegralExchangeCount()*-1);dealData.setRecharge(recordService.getRechargeCount());return CinemaResult.ok(dealData);}/***  //获取充值消费数据的图标数据,请求参数无,返回包含三个整型数组的对象* export const getSchart1Data = query=>{*     return request({*         url:"getSchart1Data",*         method:'post',*         params:query*     });* };*/@RequestMapping("getSchart1Data")public CinemaResult getSchart1Data(){return CinemaResult.ok(recordService.getSchart1Data());}
}

电影管理控制器

@CrossOrigin
@RestController
public class MovieController {@ResourceMovieService movieService;/*** //添加电影票数据,需要返回电影票全部数据,因为电影票id需要服务端生成* export const insertMovie = query=>{*     return request({*         url:'insertMovie',*         method:'post',*         params:query*     })* };*/@RequestMapping("insertMovie")public CinemaResult insertMovie(Movie movie){return movieService.insertMovie(movie);}/***  //获取电影票数据,请求参数:pageIndex,pageSize,返回电影列表和总记录数* export const movieData = query =>{*     return request({*         url:'getMovie',*         method:'get',*         params:query*     });* };*/@RequestMapping("getMovie")public CinemaResult getMovie(String pageIndex,String pageSize){//这里使用分页插件pagehelperPageResult pageResult = new PageResult();PageHelper.startPage(Integer.parseInt(pageIndex),Integer.parseInt(pageSize));List lists = movieService.getMovieData();PageInfo<Card> pageInfo = new PageInfo<>(lists);pageResult.setList(pageInfo.getList());pageResult.setPageTotal(pageInfo.getTotal());return CinemaResult.ok(pageResult);}/*** //删除电影数据,请求参数:movieId* export const delMovie = query=>{*     return request({*         url:'delMovie',*         method:'get',*         params:query*     });* };*/@RequestMapping("delMovie")public CinemaResult delMovie(String movieId){movieService.delMovie(movieId);return CinemaResult.ok();}/***      * //修改电影数据,请求参数:movieId、name、price、time*      * export const modifyMovie = query=>{*      *     return request({*      *         url:'modifyMovie',*      *         method:'get',*      *         params:query*      *     });*      * };*/@RequestMapping("modifyMovie")public CinemaResult modifyMovie(Movie movie){return movieService.modifyMovie(movie);}
}
/*
*
* //删除电影数据,请求参数:movieId
export const delMovie = query=>{return request({url:'delMovie',method:'get',params:query});
};
//修改电影数据,请求参数:movieId、name、price、time
export const modifyMovie = query=>{return request({url:'modifyMovie',method:'get',params:query});
};*/

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

Java项目:springboot+vue电影院会员管理系统相关推荐

  1. 基于Springboot+vue电影院会员管理系统(源代码+数据库+文档)025

    部分代码地址 https://gitee.com/ynwynwyn/cinema-public 基于Springboot+vue电影院会员管理系统(源代码+数据库+文档) 一.系统介绍 cinema项 ...

  2. 计算机毕业设计-基于springboot的电影院会员管理系统(项目+文档+ppt)

    计算机毕业设计-基于springboot的电影院会员管理系统(项目+文档+ppt) 1.开发环境及工具下载 开发语言:Java 架构:B/S 后台:SpringBoot 前端:HTML+CSS+Jav ...

  3. springboot+vue电影院会员系统源码

    项目简介 后端框架:springboot+vue电影院会员系统.影院会员管理系统源码分享 技术栈:vue.springboot.maven.elementui,jquery 数据库:Mysql 源码 ...

  4. Java基于springboot+vue的电子相册管理系统 前后端分离node

    智能电子相册是一个可以永久保留记忆的东西,用户可以讲自己美好的一面展示在网络上,人更多的人了解到自己的生活,为此我们通过Java语言并结合springboot+vue开发了本次的电子相册管理系统,希望 ...

  5. java项目springboot医院固定资产检修管理系统

    功能介绍 主要对主页.个人中心.员工管理.供应商管理.设备类型管理.仪器设备管理.设备采购管理.设备入库管理.设备申请管理.检修信息管理的实现. springboot是spring家族中的一个全新框架 ...

  6. java项目 SpringBoot+Vue社区团购系统

    随着互联网的不断发展,当代人的生活消费习惯发生了翻天覆地的大变化,资本对社区团购的关注源于微信生态概念的火热.拼多多的崛起,随着互联网的不断发展,当代人的生活消费习惯发生了翻天覆地的大变化,资本对社区 ...

  7. 基于springboot的电影院会员管理系统

    一.项目技术方案 本作业后端使用 springboot+mybatis,持久数据库使用 MySQL,前端使用 vue.js+element-ui 技术.使用前后端分离架构,前端项目使用 vue-cli ...

  8. java基于Springboot+Vue畜牧场养牛管理系统python

    本系统结合计算机系统的结构.概念.模型.原理.方法,在计算机各种优势的情况下,采用JAVA语言,结合springboot及MYSQL数据库设计并实现的.它帮助牧场管理实现了信息化.网络化,通过测试,实 ...

  9. 基于javaweb的电影院会员管理系统(java+springboot+vue+element-ui+mysql)

    基于javaweb的电影院会员管理系统(java+springboot+vue+element-ui+mysql) 运行环境 Java≥8.MySQL≥5.7.Node.js≥10 开发工具 后端:e ...

最新文章

  1. Mysql进阶(1)——异步复制(主从复制、Gtid复制)、半同步复制
  2. windows环境下安装neo4j
  3. @Autowired
  4. 【Level 08】U08 Positive Attitude L5 Satisfy your need to know
  5. hihocoder1033交错和
  6. FlexPaper — 可以用来仿豆丁网、百度文库的PDF在线阅读功能
  7. OpenCV图像处理--opencv摄像头播放视频
  8. IB网卡驱动安装以及Infiniband连接带宽测试
  9. 解决 ModuleNotFoundError: No module named ‘PySide2.QtUiTools‘
  10. Netbean6.1中svn配置
  11. 颜色分类Python解法
  12. 全球与中国冲压空气涡轮行业调查与未来发展趋势研究报告
  13. 女孩取名:带日字旁好听有内涵的女孩名字
  14. UEFI HOB 学习
  15. Interval 类型总结
  16. 华科计算机系统结构研究生就业,华中科技大学这四个“王牌”专业,堪比金字招牌,考上就是“香饽饽”...
  17. 安卓无线蓝牙耳机哪款好?实惠好用的蓝牙耳机品牌
  18. 计算机视觉算法——基于Transformer的目标检测(DETR / Deformable DETR / DETR 3D)
  19. 在建工程直接费用化_​在建工程资本化费用化区别
  20. CV2的conda安装

热门文章

  1. 学系统集成项目管理工程师(中项)系列26_新兴信息技术
  2. mysql gis index 索引原理_Mysql 索引原理及优化
  3. native+html5
  4. 苹果究竟对AI是怎么看的?现在终于有答案了
  5. 原生JS实现钟表效果
  6. [explan-trans]不用将train的01234数据提到一个文件夹train_images的vit程序(需要给图片-名字前面添加标签)
  7. 《多媒体在初中数学中的运用研究》研究课例
  8. 推特开发者之 tweepy库如何获取用户早期推文
  9. 数据库mysql增删查改操作指令
  10. 【PaddleHub创意赛】APP评论情感分析