100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > Java实现项目电影购票系统(swing界面)

Java实现项目电影购票系统(swing界面)

时间:2020-08-25 21:16:20

相关推荐

Java实现项目电影购票系统(swing界面)

使用三层架构实现电影购票系统,分用户和管理员,用户功能:展示电影,查找电影(模糊查询),查看电影详情,查找场次,购买影票,订制座位,退订影票等功能,界面美观漂亮,逻辑严谨,附加电影评论功能,订票超过五张打0.9折的打折功能。管理员功能:影院的增删改查,场次的增删改查,电影的增删改查,影票管理等。

管理员账号:admin 密码:admin

下载地址:/share/4324685148654592.htm 或者

/download/zouzong123/10593010

效果展示图:

登录界面:

用户主界面:

查看热门电影:

点击电影进入查看详情,可以看到该电影的所有评论,可以进行评论。

点击想看电影进入场次界面,可通过影院名查询场次,支持模糊查询。

选好场次进入订座购票界面,购买票并扣取相应钱数,显示余额

返回主页,查看我的影票,选择影票并查看我的评论 ,如未评论可进行评论,评论过可进行修改评论,可退订影票,退订成功钱会返还给用户。

再看查找电影功能,支持模糊查询,也可点击海报进入电影详情

咱们来展示下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 blocke.printStackTrace();}}// 获得连接public Connection getConn() {Connection conn = null;try {conn = DriverManager.getConnection(URL, "root", "123456");} catch (SQLException e) {// TODO Auto-generated catch blocke.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 blocke.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 blocke.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 blocke.printStackTrace();} finally {releaseAll(rs, pstmt, conn);}return list;}}

该项目界面美观,代码封装性良好,逻辑严密,仅供参考。如有疑问可加我qq:943420328

若发现bug,请大佬指正。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。