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

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

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

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 全日爱韩国视频在线观看 | 男人女人叉叉叉 | av72成人 | 欧美性理论片在线观看片免费 | 欧美亚洲另类在线观看 | 四虎1515hhcom | 80s在线| 好涨好大我快受不了了视频网 | 国产手机在线αⅴ片无码观看 | 国产精品亚洲精品日韩已满 | 韩国久久| 国产青草亚洲香蕉精品久久 | 男人插女人软件 | 久久精品国产欧美日韩99热 | 欧美日韩亚洲综合久久久 | 女人被爽到呻吟娇喘的视频动态图 | 动漫jk美女被爆羞羞漫画 | 校花被扒开尿口折磨憋尿 | 五月天淫 | 爽爽窝窝午夜精品一区二区 | 男同桌脱我奶罩吸我奶作文 | 久久免费看少妇高潮A片JA | 香蕉精品高清在线观看视频 | 男女视频在线观看网站 | 亚洲精品一区制服丝袜 | 亚洲视频在线免费看 | 美妇在男人胯下哀求 | 三体动漫在线观看免费完整版2022 | 亚洲天堂影院在线观看 | 9999热视频| 波多野结衣女教师在线观看 | 免费一区在线观看 | 亚洲精品视频久久 | 亚洲日本久久一区二区va | 精品国产乱码久久久久久人妻 | 草综合 | 欧美精品国产一区二区三区 | 美女裆部| 欧美乱强| 日韩欧美亚洲国产高清在线 | 小SAO货边洗澡边CAO你动漫 |