基于Java+SSM實(shí)現(xiàn)電影院購(gòu)票系統(tǒng)
項(xiàng)目介紹
基于Spring,SpringMVC,Mybatis開發(fā)實(shí)現(xiàn)。
數(shù)據(jù)庫(kù)用的是MySQL5.5。
開發(fā)工具用的Eclipse + Tomcat7,JDK1.7-1.8皆可。
效果圖展示
首頁(yè)
電影詳情頁(yè)
購(gòu)票
登錄注冊(cè)頁(yè)面
后臺(tái)管理頁(yè)面
電影信息列表
添加電影信息
電影票管理
訂單管理
熱點(diǎn)新聞管理
實(shí)現(xiàn)邏輯代碼
抽出一些核心代碼,如有BUG和問(wèn)題,歡迎指出。
MovieController
package com.app.controller; import java.util.HashMap; import java.util.List; import java.util.Map; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.servlet.ModelAndView; import com.app.bean.Movies; import com.app.bean.Orders; import com.app.bean.Ticket; import com.app.service.MovieService; import com.app.util.StringUtilsEx; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import static com.app.util.StringUtilsEx.*; @Controller @RequestMapping("/movie") public class MovieController { @Autowired private MovieService ms; @RequestMapping("/listOrder") @ResponseBody public Map<String,Object> listOrder(Integer page,Integer rows){ Map<String,Object> result = new HashMap<>(); List<Orders> list = null; try { if(isEmpty(page) || isEmpty(rows)) { page = 1; rows = 5; } PageHelper.startPage(page, rows); list = ms.listOrder(); result.put("rows", list); PageInfo<Orders> pageInfo = new PageInfo<Orders>(list); result.put("total", pageInfo.getTotal()); } catch (Exception e) { e.printStackTrace(); return null; } return result; } //根據(jù)電影票ID生成訂單 @RequestMapping("/addOrder") @ResponseBody public Map<String,Object> addOrder(String id){ Map<String,Object> returnVo = new HashMap<String, Object>(); returnVo.put("code", 0); try{ ms.addOrder(id); }catch(Exception e){ returnVo.put("code", -1); } return returnVo; } @RequestMapping("/getById") @ResponseBody public Movies getById(String id){ return ms.getById(id); } @RequestMapping("/createTickets") @ResponseBody public Map<String,Object> createTickets(String id){ Map<String,Object> returnVo = new HashMap<String, Object>(); returnVo.put("code", 0); //先檢查這個(gè)id的電影是否已經(jīng)生成了電影票 List<Ticket> tickets = ms.getTicketsByMovieId(id); if(tickets != null && !tickets.isEmpty()){ returnVo.put("code", 2); return returnVo; } try{ ms.createTickets(id); }catch(Exception e){ returnVo.put("code", -1); } return returnVo; } @RequestMapping("/update") @ResponseBody public Map<String,Object> update(String id,String column){ Map<String,Object> returnVo = new HashMap<String, Object>(); returnVo.put("code", 0); try{ ms.update(id,column); }catch(Exception e){ returnVo.put("code", -1); } return returnVo; } @RequestMapping("/delete") @ResponseBody public Map<String,Object> delete(String id){ Map<String,Object> returnVo = new HashMap<String, Object>(); returnVo.put("code", 0); try{ ms.delete(id); }catch(Exception e){ returnVo.put("code", -1); } return returnVo; } @RequestMapping("/add") @ResponseBody public Map<String,Object> add(Movies movie){ Map<String,Object> returnVo = new HashMap<String, Object>(); returnVo.put("code", 0); try{ if(StringUtilsEx.isNotEmpty(movie.getId())){ ms.update(movie); }else{ ms.add(movie); } }catch(Exception e){ e.printStackTrace(); returnVo.put("code", -1); } return returnVo; } @RequestMapping("/list") @ResponseBody public Map<String,Object> list(String moviename,Integer page,Integer rows){ Map<String,Object> result = new HashMap<>(); List<Movies> list = null; try { if(isEmpty(page) || isEmpty(rows)) { page = 1; rows = 5; } PageHelper.startPage(page, rows); list = ms.list(moviename); result.put("rows", list); PageInfo<Movies> pageInfo = new PageInfo<Movies>(list); result.put("total", pageInfo.getTotal()); } catch (Exception e) { e.printStackTrace(); return null; } return result; } }
NewsController
package com.app.controller; import java.util.HashMap; import java.util.List; import java.util.Map; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.servlet.ModelAndView; import com.app.bean.Movies; import com.app.bean.News; import com.app.service.MovieService; import com.app.service.NewsService; import com.app.util.StringUtilsEx; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import static com.app.util.StringUtilsEx.*; @Controller @RequestMapping("/news") public class NewsController { @Autowired private NewsService service; @RequestMapping("/getById") @ResponseBody public News getById(String id){ return service.getById(id); } @RequestMapping("/delete") @ResponseBody public Map<String,Object> delete(String id){ Map<String,Object> returnVo = new HashMap<String, Object>(); returnVo.put("code", 0); try{ service.delete(id); }catch(Exception e){ returnVo.put("code", -1); } return returnVo; } @RequestMapping("/add") @ResponseBody public Map<String,Object> add(News news){ Map<String,Object> returnVo = new HashMap<String, Object>(); returnVo.put("code", 0); try{ if(StringUtilsEx.isNotEmpty(news.getId())){ service.update(news); }else{ service.add(news); } }catch(Exception e){ e.printStackTrace(); returnVo.put("code", -1); } return returnVo; } @RequestMapping("/list") @ResponseBody public Map<String,Object> list(String newsname,Integer page,Integer rows){ Map<String,Object> result = new HashMap<>(); List<News> list = null; try { if(isEmpty(page) || isEmpty(rows)) { page = 1; rows = 5; } PageHelper.startPage(page, rows); list = service.list(newsname); result.put("rows", list); PageInfo<News> pageInfo = new PageInfo<News>(list); result.put("total", pageInfo.getTotal()); } catch (Exception e) { e.printStackTrace(); return null; } return result; } }
IndexController
package com.app.controller; import static com.app.util.StringUtilsEx.isEmpty; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.servlet.ModelAndView; import com.app.bean.Movies; import com.app.bean.News; import com.app.bean.Ticket; import com.app.mapper.NewsMapper; import com.app.service.MovieService; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; @Controller public class IndexController { @Autowired private MovieService ms; @Autowired private NewsMapper newsMapper; @RequestMapping("front/index") public ModelAndView index(String moviename){ ModelAndView mav = new ModelAndView(); PageHelper.startPage(1, 10); List<Movies> list = ms.list(moviename); //電影 mav.addObject("movieList",list); mav.addObject("jrpf",ms.queryList("jrpf")); mav.addObject("zsqd",ms.queryList("zsqd")); mav.addObject("hprc",ms.queryList("hprc")); mav.addObject("newsList",ms.queryList("news")); mav.setViewName("front/index.jsp"); return mav; } @RequestMapping("front/detail") public ModelAndView detail(String id){ ModelAndView mav = new ModelAndView(); //根據(jù)id獲取電影的所有信息 Movies movie = ms.getById(id); //根據(jù)id獲取所有的電影票 List<Ticket> tickets = ms.getTicketsByMovieId(id); mav.addObject("movie", movie); mav.addObject("tickets", tickets); mav.addObject("jrpf",ms.queryList("jrpf")); mav.addObject("zsqd",ms.queryList("zsqd")); mav.addObject("hprc",ms.queryList("hprc")); mav.addObject("newsList",ms.queryList("news")); mav.setViewName("front/detail.jsp"); return mav; } @RequestMapping("front/detailNews") public ModelAndView detailNews(String id){ ModelAndView mav = new ModelAndView(); //根據(jù)id獲取電影的所有信息 News news = newsMapper.selectByPrimaryKey(Integer.parseInt(id)); mav.addObject("news", news); mav.addObject("jrpf",ms.queryList("jrpf")); mav.addObject("zsqd",ms.queryList("zsqd")); mav.addObject("hprc",ms.queryList("hprc")); mav.addObject("newsList",ms.queryList("news")); mav.setViewName("front/detailNews.jsp"); return mav; } @RequestMapping("front/result") public ModelAndView result(String moviename,Integer page,Integer rows){ ModelAndView mav = new ModelAndView(); if(isEmpty(page) || isEmpty(rows)) { page = 1; rows = 5; } PageHelper.startPage(page, rows); //根據(jù)id獲取所有的電影票 List list = ms.list(moviename); mav.addObject("rows",list); PageInfo<Movies> pageInfo = new PageInfo<Movies>(list); mav.addObject("total",pageInfo.getTotal()); mav.addObject("page",page); mav.addObject("jrpf",ms.queryList("jrpf")); mav.addObject("zsqd",ms.queryList("zsqd")); mav.addObject("hprc",ms.queryList("hprc")); mav.addObject("newsList",ms.queryList("news")); mav.setViewName("front/result.jsp"); return mav; } }
UserController
package com.app.controller; import static com.app.util.StringUtilsEx.isEmpty; import java.util.HashMap; import java.util.List; import java.util.Map; import javax.servlet.http.HttpServletRequest; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import com.app.bean.Movies; import com.app.bean.Users; import com.app.bean.UsersExample; import com.app.bean.UsersExample.Criteria; import com.app.core.ReturnVoCommon; import com.app.mapper.UsersMapper; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import net.sf.json.JSONObject; @Controller @RequestMapping("/user") public class UserController { @Autowired private UsersMapper userMapper; @RequestMapping("/list") @ResponseBody public Map<String,Object> list(Integer page,Integer rows){ Map<String,Object> result = new HashMap<>(); List<Users> list = null; try { if(isEmpty(page) || isEmpty(rows)) { page = 1; rows = 5; } PageHelper.startPage(page, rows); list = userMapper.selectByExample(new UsersExample()); result.put("rows", list); PageInfo<Users> pageInfo = new PageInfo<Users>(list); result.put("total", pageInfo.getTotal()); } catch (Exception e) { e.printStackTrace(); return null; } return result; } @RequestMapping("/delete") @ResponseBody public Map<String,Object> delete(String id){ Map<String,Object> returnVo = new HashMap<String, Object>(); returnVo.put("code", 0); try{ userMapper.deleteByPrimaryKey(Integer.parseInt(id)); }catch(Exception e){ returnVo.put("code", -1); } return returnVo; } @RequestMapping("/reg") @ResponseBody public ReturnVoCommon reg(Users user,HttpServletRequest request){ ReturnVoCommon vo = new ReturnVoCommon(); UsersExample example = new UsersExample(); Criteria createCriteria = example.createCriteria(); createCriteria.andNameEqualTo(user.getName()); List<Users> list = userMapper.selectByExample(example); if(list.size() == 1){ vo.setCode(-1); vo.setErrMsg("用戶名存在!"); return vo; } user.setAuth("注冊(cè)用戶"); userMapper.insert(user); return vo; } @RequestMapping("/login") @ResponseBody public ReturnVoCommon login(Users user,HttpServletRequest request){ ReturnVoCommon vo = new ReturnVoCommon(); UsersExample example = new UsersExample(); Criteria createCriteria = example.createCriteria(); createCriteria.andNameEqualTo(user.getName()); createCriteria.andPasswordEqualTo(user.getPassword()); createCriteria.andAuthEqualTo(user.getAuth()); List<Users> list = userMapper.selectByExample(example); if(list.size() < 1){ vo.setCode(-1); vo.setErrMsg("用戶名或者密碼錯(cuò)誤!"); return vo; } if(user.getAuth().equals("注冊(cè)用戶")){ vo.setCode(1); request.getSession().setAttribute("currentUser", list.get(0)); }else{ vo.setCode(2); request.getSession().setAttribute("adminUser", list.get(0)); } return vo; } }
到此這篇關(guān)于基于Java+SSM實(shí)現(xiàn)電影院購(gòu)票系統(tǒng)的文章就介紹到這了,更多相關(guān)Java SSM電影院購(gòu)票系統(tǒng)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Java通過(guò)SSM完成水果商城批發(fā)平臺(tái)流程
- Java開發(fā)之ssm三大框架整合
- java ssm框架的controller實(shí)現(xiàn)向頁(yè)面?zhèn)鬟f參數(shù)
- 基于Java SSM實(shí)現(xiàn)在線點(diǎn)餐系統(tǒng)
- 基于Java SSM框架實(shí)現(xiàn)簡(jiǎn)易的評(píng)教系統(tǒng)
- 基于Java SSM實(shí)現(xiàn)Excel數(shù)據(jù)批量導(dǎo)入
- 基于Java SSM的健康管理小程序的實(shí)現(xiàn)
- Java SMM框架關(guān)聯(lián)關(guān)系映射示例講解
相關(guān)文章
Java switch 語(yǔ)句如何使用 String 參數(shù)
這篇文章主要介紹了Java switch 語(yǔ)句如何使用 String 參數(shù),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,,需要的朋友可以參考下2019-06-06Java實(shí)戰(zhàn)之仿天貓商城系統(tǒng)的實(shí)現(xiàn)
這篇文章主要介紹了如何利用Java制作一個(gè)基于SSM框架的迷你天貓商城系統(tǒng),文中采用的技術(shù)有JSP、Springboot、SpringMVC、Spring等,需要的可以參考一下2022-03-03Java 實(shí)現(xiàn)一個(gè)漢諾塔實(shí)戰(zhàn)練習(xí)
漢諾塔是源于印度一個(gè)古老傳說(shuō)的益智玩具。大梵天創(chuàng)造世界時(shí)做了三根石柱,在一根柱子上從下往上按大小順序摞著64片黃金圓盤。大梵天命令婆羅門把圓盤從下面開始按大小順序重新擺放在另一根柱子上。并且規(guī)定,在小圓盤上不能放大圓盤,三根柱子之間一次只能移動(dòng)一個(gè)圓盤2021-10-10Java中==符號(hào)與equals()的使用詳解(測(cè)試兩個(gè)變量是否相等)
下面小編就為大家?guī)?lái)一篇Java中==符號(hào)與equals()的使用詳解(測(cè)試兩個(gè)變量是否相等)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-07-07