使用三层架构实现电影购票系统,分用户和管理员,用户功能:展示电影,查找电影(模糊查询),查看电影详情,查找场次,购买影票,订制座位,退订影票等功能,界面美观漂亮,逻辑严谨,附加电影评论功能,订票超过五张打0.9折的打折功能。管理员功能:影院的增删改查,场次的增删改查,电影的增删改查,影票管理等。
管理员账号:admin 密码:admin
下载地址:java实现电影购票系统
效果展示图:
登录界面:
用户主界面:
查看热门电影:
点击电影进入查看详情,可以看到该电影的所有评论,可以进行评论。
点击想看电影进入场次界面,可通过影院名查询场次,支持模糊查询。
选好场次进入订座购票界面,购买票并扣取相应钱数,显示余额
返回主页,查看我的影票,选择影票并查看我的评论 ,如未评论可进行评论,评论过可进行修改评论,可退订影票,退订成功钱会返还给用户。
再看查找电影功能,支持模糊查询,也可点击海报进入电影详情
咱们来展示下BaseDao的代码:
import java.lang.reflect.Field; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.ResultSetMetaData; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; public class BaseDao { public static final String DRIVER = "com.mysql.jdbc.Driver"; public static final String URL = "jdbc:mysql://localhost:3306/tickets"; // 加载驱动,只需加载一次 static { try { Class.forName(DRIVER); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } } // 获得连接 public Connection getConn() { Connection conn = null; try { conn = DriverManager.getConnection(URL, "root", "123456"); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return conn; } // 关闭所有 public void releaseAll(ResultSet rs, PreparedStatement pstmt, Connection conn) { try { if (rs != null) { rs.close(); } if (pstmt != null) { pstmt.close(); } if (conn != null) { conn.close(); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } // 增删改 封装 public boolean operUpdate(String sql, List<Object> params) { Connection conn = null; PreparedStatement pstmt = null; int res = 0; // 获得与数据库的连接对象 conn = getConn(); try { pstmt = conn.prepareStatement(sql); if (params != null) { for (int i = 0; i < params.size(); i++) { pstmt.setObject(i + 1, params.get(i)); } } // 增刪改的統一方法 res = pstmt.executeUpdate(); //返回的是sql在数据库中影响的行数 } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } finally { releaseAll(null, pstmt, conn); } return res > 0 ? true : false; } public <T> List<T> operQuery(String sql, List<Object> params, Class<T> cls) throws Exception { Connection conn = null; PreparedStatement pstmt = null; ResultSet rs = null; List<T> list = new ArrayList<T>(); conn = getConn(); try { pstmt = conn.prepareStatement(sql); if (params != null) { for (int i = 0; i < params.size(); i++) { pstmt.setObject(i + 1, params.get(i)); } } // 增刪改的統一方法 rs = pstmt.executeQuery(); ResultSetMetaData rsmd = rs.getMetaData(); while (rs.next()) { T m = cls.newInstance(); for (int i = 0; i < rsmd.getColumnCount(); i++) { String col_name = rsmd.getColumnName(i + 1); Object value = rs.getObject(col_name); Field field; field = cls.getDeclaredField(col_name); field.setAccessible(true); field.set(m, value); } list.add(m); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } finally { releaseAll(rs, pstmt, conn); } return list; } }
该项目界面美观,代码封装性良好,逻辑严密,仅供参考。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。
本文向大家介绍java swing实现电影购票系统,包括了java swing实现电影购票系统的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了java swing实现电影购票系统的具体代码,供大家参考,具体内容如下 首先系统分为前台用户登录注册和后台管理员进行管理 项目采用三层架构思想 系统首页 电影详情以及查看评论 查看所有电影场次 购买影票选择座位 查看影票以及点击进入评论 对购
本文向大家介绍C#实现影院售票系统,包括了C#实现影院售票系统的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了C#实现影院售票系统的具体代码,供大家参考,具体内容如下 本人认为此项目的难点有4点 1.首先是将解析完的XML文件绑定到TreeView上 2.用代码动态生成座位的label,生成触发事件Label_Click,俩组放映时间的售出座位是不同的 3.用序列化与反序列化实现代码
本文向大家介绍asp.net实现三层架构的例子,包括了asp.net实现三层架构的例子的使用技巧和注意事项,需要的朋友参考一下 看了2天的三层架构,其实自己以前也看过这个,可以由于没有使用过,所以对于三层架构也只是知道罢了,昨天看了一下他一些内部的具体架构,三层分别是BLL、WEB、DAL,在web接受用户请求,bll处理业务,dal处理数据库事务,下面是一个简单的例子!这是一个添加新员工的页面:
问题内容: 它被认为是很好的做法,对于应用程序的每个层(即一个例外,,等)。但是,如果我的服务层直接调用DAO方法(持久层方法)而不进行其他操作,该怎么办? 像这样: 我是否应该将此DAO方法调用包装为一个块,然后将可能的异常抛出为?每个DAO方法应该只抛出吗? 问题答案: 那么,您的Dao异常与服务层无关,并且服务层与dao层异常无关。正确的方法是捕获dao异常,然后将新的自定义异常扔到服务层。
本文向大家介绍Java实现购物管理系统,包括了Java实现购物管理系统的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了Java实现购物管理系统的具体代码,供大家参考,具体内容如下 重点内容 JAVA分支结构练习 动态数组 注册表读写删 代码: 更多学习资料请关注专题《管理系统开发》。 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。
本文向大家介绍ASP.NET存储过程实现分页效果(三层架构),包括了ASP.NET存储过程实现分页效果(三层架构)的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了ASP.NET存储过程实现分页的具体代码,供大家参考,具体内容如下 实现效果: 文本框内输入跳转的页数,点击GO会跳转到该页 首先在项目下加入BLL,DAL,DataAccess,MODEL类库 1、前台界面 2、后台代码