基于GUI和SQL的剧院票务管理系统
来源:互联网 发布:周传雄 知乎 编辑:程序博客网 时间:2024/06/02 19:29
前一段时间,学校安排的软件课程设计,要求用Java写界面,并且连接本地数据库,实现“剧院票务管理系统”(以下简称TTMS)。项目已经完成一个多月了,今天来总结一下该项目开发的要点,以及大概过程吧。
开发环境:Windows系统,eclipse,SQLServer2008R2
1.首先,数据库已经是老师提前搭建好的。我只是在开发过程中,对一些变量的类型进行了修改,没有太大的改动。
有关于Java和数据库的连接,我在这里就不多说了,这里粘贴一段连接测试的代码仅供参考
import java.sql.Statement;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.util.ArrayList;import java.util.List;public class TestJDBC {public static Connection getConnection() throws SQLException,ClassNotFoundException{//加载JDBC的驱动Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");String url = "jdbc:sqlserver://localhost:1433; DatabaseName=TTMS";String username = "sa";String password = "123";//创建与数据库类的连接实例Connection connection = DriverManager.getConnection(url, username, password);return connection;}public static <E> void main(String[] args){try{//获取连接实例connection,用connection创建Statement对象类实例sql_statementConnection connection = getConnection();Statement sql_statement = connection.createStatement();//对play表的验证//进行查询,用ResultSet类的对象,返回查询的结果String query = "select * from play";ResultSet result = sql_statement.executeQuery(query);//显示数据中seat表的内容System.out.println("play表的数据如下:");//对获得的查询结果进行处理while(result.next()){int a = result.getInt("play_id");int b = result.getInt("play_type_id");int c = result.getInt("play_lang_id");String d = result.getString("play_name");String e = result.getString("play_introduction");String f = result.getString("play_image");int g = result.getInt("play_length");int h = result.getInt("play_ticket_price");int i = result.getInt("play_status");System.out.println(a+" "+b+" "+c+" "+d+" "+e+" "+f+" "+g+" "+h+" "+i);}//关闭连接和声明sql_statement.close();connection.close();}catch(ClassNotFoundException e){System.err.print("ClassNotFoundException:");System.err.println(e.getMessage());}catch(SQLException e){System.err.print("SQLException:");System.err.println(e.getMessage());}}}
eg2:销售统计与分析
3.以上是两个较为复杂的用例的实现思路,其余的演出厅管理,剧目信息管理,座位管理,员工信息管理等,就是实现基本的增删改查就好了。下面附上一些界面的截图:
(1)登录界面(由售票员登录,管理员登录,经理登录这三个标签页组合而成)
(2)影片信息展示界面
(3)演出计划界面(由于点击后需要遍历座位,加载耗时,所以开启线程,增加了进度条)
(4)座位以及售票界面
如果选择的座位对应的票未被售出,则进行支付,购票
如果该座位的票已经被预定(即红色座位),则会给出提示,不能订票
(5)剧目信息管理界面(在这里使用了数据字典,方便对影片类型以及语言类型进行添加)
其余几个界面类似,都可以进行复用,就不再一一展示了
(6)销售统计界面(分为按剧目统计和按演出厅统计两个部分,其中每一项又分为总销售统计和当天销售统计,按月统计还未实现)
按剧目总销售统计
按剧目当天销售统计
(7)销售数据分析(在这一部分,采用了GUI绘图,通过条形统计图对总销售额进行统计,当然也可以再添加折线以及扇形统计图)
按影片名称进行统计
按演出厅进行统计
统计图的绘制也很简单,导入三个jar包,就很简单了(百度一下就好)
最后,附上我的github地址
github:https://github.com/pray-for/TTMS_JAVA
- 基于GUI和SQL的剧院票务管理系统
- TTMS 一个基于Java Swing的Socket通信的剧院票务管理系统
- java剧院管理系统,数据存储mysql
- 剧院系统界面之用户界面
- 基于ACCESS和ASP的SQL多个表查询与计算统计代码(二)库存管理系统
- 基于google earth 的航路管理和飞行仿真系统
- 基于SVN和消息中间件的JSP文件管理系统
- 基于区块链的价值交易和管理系统
- 基于express和mongodb的任务管理系统
- 基于C#、FTP和XML的实验室元器件管理系统
- 基于Hibernate和Struts2的用户管理系统小案例
- 基于 vue2 构建和后台真实交互的 管理系统
- 基于栈和队列的停车场管理系统
- 基于android系统平台的GUI设计解决方案--inflexion
- 基于OgreBites::Widget 实现自己的GUI系统(1)
- 基于OgreBites::Widget 实现自己的GUI系统(2)
- 基于Ogre::Bites实现自己的GUI系统(3)
- 基于GUI的简易图像处理系统设计与实现
- Js变量作用域与作用域链详解
- linux源概念、原理、应用(linux软件安装、升级)
- Scrapy-redis源码分析
- day04
- 基于阈值分解的多级中值滤波
- 基于GUI和SQL的剧院票务管理系统
- APMCon 2017中国应用性能管理大会将于8月10日北京召开!
- poj3468-A Simple Problem with Integers 线段树成段增减,区域求和(延迟标记)
- Android查询本地文件(最快速度)
- Java点滴知识
- Dropping Balls, UVa679
- Python008字符串操作
- POJ 1469 COURSES
- Linux Redis的安装已经问题解决方案