小蚂蚁 发表于 2021-10-5 17:37:19

java使用三层架构实现电影购票系统

这篇文章主要为大家详细介绍了java使用三层架构实现电影购票系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
使用三层架构实现电影购票系统,分用户和管理员,用户功能:展示电影,查找电影(模糊查询),查看电影详情,查找场次,购买影票,订制座位,退订影票等功能,界面美观漂亮,逻辑严谨,附加电影评论功能,订票超过五张打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;

}

}
该项目界面美观,代码封装性良好,逻辑严密,仅供参考。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持CodeAE代码之家。
原文链接:https://blog.csdn.net/zouzong123/article/details/81534635

http://www.zzvips.com/article/175783.html
页: [1]
查看完整版本: java使用三层架构实现电影购票系统