基于Java+SSM實(shí)現(xiàn)電影院購票系統(tǒng)
項(xiàng)目介紹
基于Spring,SpringMVC,Mybatis開發(fā)實(shí)現(xiàn)。
數(shù)據(jù)庫用的是MySQL5.5。
開發(fā)工具用的Eclipse + Tomcat7,JDK1.7-1.8皆可。
效果圖展示
首頁

電影詳情頁

購票

登錄注冊頁面

后臺(tái)管理頁面

電影信息列表

添加電影信息

電影票管理

訂單管理

熱點(diǎn)新聞管理


實(shí)現(xiàn)邏輯代碼
抽出一些核心代碼,如有BUG和問題,歡迎指出。
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("注冊用戶");
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("注冊用戶")){
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)電影院購票系統(tǒng)的文章就介紹到這了,更多相關(guān)Java SSM電影院購票系統(tǒng)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Java通過SSM完成水果商城批發(fā)平臺(tái)流程
- Java開發(fā)之ssm三大框架整合
- java ssm框架的controller實(shí)現(xiàn)向頁面?zhèn)鬟f參數(shù)
- 基于Java SSM實(shí)現(xiàn)在線點(diǎn)餐系統(tǒng)
- 基于Java SSM框架實(shí)現(xià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 語句如何使用 String 參數(shù)
這篇文章主要介紹了Java switch 語句如何使用 String 參數(shù),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,,需要的朋友可以參考下2019-06-06
Java實(shí)戰(zhàn)之仿天貓商城系統(tǒng)的實(shí)現(xiàn)
這篇文章主要介紹了如何利用Java制作一個(gè)基于SSM框架的迷你天貓商城系統(tǒng),文中采用的技術(shù)有JSP、Springboot、SpringMVC、Spring等,需要的可以參考一下2022-03-03
Java 實(shí)現(xiàn)一個(gè)漢諾塔實(shí)戰(zhàn)練習(xí)
漢諾塔是源于印度一個(gè)古老傳說的益智玩具。大梵天創(chuàng)造世界時(shí)做了三根石柱,在一根柱子上從下往上按大小順序摞著64片黃金圓盤。大梵天命令婆羅門把圓盤從下面開始按大小順序重新擺放在另一根柱子上。并且規(guī)定,在小圓盤上不能放大圓盤,三根柱子之間一次只能移動(dòng)一個(gè)圓盤2021-10-10
Java中==符號(hào)與equals()的使用詳解(測試兩個(gè)變量是否相等)
下面小編就為大家?guī)硪黄狫ava中==符號(hào)與equals()的使用詳解(測試兩個(gè)變量是否相等)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-07-07

