一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|JavaScript|易語言|

服務器之家 - 編程語言 - Java教程 - java使用三層架構實現電影購票系統

java使用三層架構實現電影購票系統

2021-07-12 15:12流云往事書 Java教程

這篇文章主要為大家詳細介紹了java使用三層架構實現電影購票系統,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

使用三層架構實現電影購票系統,分用戶和管理員,用戶功能:展示電影,查找電影(模糊查詢),查看電影詳情,查找場次,購買影票,訂制座位,退訂影票等功能,界面美觀漂亮,邏輯嚴謹,附加電影評論功能,訂票超過五張打0.9折的打折功能。管理員功能:影院的增刪改查,場次的增刪改查,電影的增刪改查,影票管理等。

管理員賬號:admin  密碼:admin

下載地址:java實現電影購票系統

效果展示圖:

登錄界面:

java使用三層架構實現電影購票系統

用戶主界面:

java使用三層架構實現電影購票系統

查看熱門電影:

java使用三層架構實現電影購票系統

點擊電影進入查看詳情,可以看到該電影的所有評論,可以進行評論。

java使用三層架構實現電影購票系統

點擊想看電影進入場次界面,可通過影院名查詢場次,支持模糊查詢。

java使用三層架構實現電影購票系統

選好場次進入訂座購票界面,購買票并扣取相應錢數,顯示余額

java使用三層架構實現電影購票系統

返回主頁,查看我的影票,選擇影票并查看我的評論 ,如未評論可進行評論,評論過可進行修改評論,可退訂影票,退訂成功錢會返還給用戶。

java使用三層架構實現電影購票系統

再看查找電影功能,支持模糊查詢,也可點擊海報進入電影詳情

java使用三層架構實現電影購票系統

 咱們來展示下basedao的代碼:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
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;
 
 }
 
}

該項目界面美觀,代碼封裝性良好,邏輯嚴密,僅供參考。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

原文鏈接:https://blog.csdn.net/zouzong123/article/details/81534635

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 大桥未久midd—962在线 | 亚洲日韩欧美一区二区在线 | 1313午夜精品久久午夜片 | 动漫女性扒开尿口羞羞漫画 | www.精品在线 | 亚洲黄色色图 | 亚洲精品无码不卡 | 日韩一区二区中文字幕 | 亚洲精品中文 | 国产精品成人免费 | 国产小视频在线免费观看 | 国产精品第1页在线播放 | 停停色 | 天天干天天日天天射天天操毛片 | 日韩精品亚洲一级在线观看 | 污污的动态图合集 | 福利国产精品 | 青青自拍视频 | 精品国产国产综合精品 | 国产精品热久久毛片 | 日本一道一区二区免费看 | 娇妻被朋友征服中文字幕 | 午夜私人影院在线观看 | 美女无内裤下部黄 | 色综合久久九月婷婷色综合 | 亚洲人的天堂男人爽爽爽 | 精品一成人岛国片在线观看 | 黄色aaa级片 | 大学生宿舍飞机china free | spy2wc48美女撒尿 | 男女羞羞的视频 | 国产1区精品 | 国产福利资源网在线观看 | 国产精品资源在线观看网站 | 失禁尿丝袜vk | 爱爱调教 | 涩情主播在线翻车 | 久青草国产在视频在线观看 | 免费一级片在线 | 欧美一区二区三区在线观看免费 | 果冻传媒和91制片厂网站软件 |