Java羽毛球场地预约网站管理系统毕业设计
一、引言
随着社会的发展,人们越来越注重健身锻炼,其中羽毛球因其简单易学和增强体质的效果而受到越来越多人的喜爱。为满足羽毛球爱好者的需求,设计一个羽毛球场地预约网站管理系统显得尤为重要。本系统旨在为用户提供方便的场地预约服务,同时为场地管理员提供管理后台,以便高效管理场地资源。
二、系统功能
本系统主要包括以下几个功能模块:
- 用户注册与登录模块:用户可以通过注册账号登录系统。
- 场地预约模块:用户可根据时间和场地信息进行预约。
- 预约查询模块:用户可查看自己的预约信息。
- 管理员管理模块:管理员可以添加、删除、修改场地信息。
三、系统架构
本系统采用B/S架构设计,前端使用HTML、CSS和JavaScript,后端使用Java Servlets和JDBC连接MySQL数据库。
四、数据库设计
数据库主要包括以下几张表:
-
用户表(user):
- id (int, 主键)
- username (varchar)
- password (varchar)
-
场地表(court):
- id (int, 主键)
- court_name (varchar)
- status (boolean)
-
预约表(reservation):
- id (int, 主键)
- user_id (int, 外键)
- court_id (int, 外键)
- reservation_time (datetime)
五、代码示例
下面是部分代码示例:
1. 用户注册功能
public boolean registerUser(String username, String password) {
Connection conn = null;
PreparedStatement pstmt = null;
try {
conn = Database.getConnection();
String sql = "INSERT INTO user (username, password) VALUES (?, ?)";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, username);
pstmt.setString(2, password);
int rowsAffected = pstmt.executeUpdate();
return rowsAffected > 0;
} catch (SQLException e) {
e.printStackTrace();
return false;
} finally {
Database.close(conn, pstmt, null);
}
}
2. 场地预约功能
public boolean reserveCourt(int userId, int courtId, LocalDateTime reservationTime) {
Connection conn = null;
PreparedStatement pstmt = null;
try {
conn = Database.getConnection();
String sql = "INSERT INTO reservation (user_id, court_id, reservation_time) VALUES (?, ?, ?)";
pstmt = conn.prepareStatement(sql);
pstmt.setInt(1, userId);
pstmt.setInt(2, courtId);
pstmt.setTimestamp(3, Timestamp.valueOf(reservationTime));
int rowsAffected = pstmt.executeUpdate();
return rowsAffected > 0;
} catch (SQLException e) {
e.printStackTrace();
return false;
} finally {
Database.close(conn, pstmt, null);
}
}
3. 查询用户预约信息
public List<Reservation> getUserReservations(int userId) {
List<Reservation> reservations = new ArrayList<>();
Connection conn = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
try {
conn = Database.getConnection();
String sql = "SELECT * FROM reservation WHERE user_id = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setInt(1, userId);
rs = pstmt.executeQuery();
while (rs.next()) {
Reservation reservation = new Reservation();
reservation.setId(rs.getInt("id"));
reservation.setCourtId(rs.getInt("court_id"));
reservation.setReservationTime(rs.getTimestamp("reservation_time").toLocalDateTime());
reservations.add(reservation);
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
Database.close(conn, pstmt, rs);
}
return reservations;
}
六、总结
通过本次毕业设计,我们实现了一个简单有效的Java羽毛球场地预约网站管理系统,覆盖了用户的基本需求和场地管理员的管理程序。在这个过程中,我们不仅提高了Java编程能力,也加深了对Web开发及数据库管理系统的理解。未来,我们希望能根据用户反馈进一步完善系统功能,使其更加人性化。