/**
*
*/
package edu.fzu.hotelsys.dao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import edu.fzu.hotelsys.domain.Hotel;
import edu.fzu.hotelsys.domain.Room;
import edu.fzu.hotelsys.exception.DataAccessException;
import edu.fzu.hotelsys.service.RoomQueryHelper;
import edu.fzu.hotelsys.utils.DBUtils;
/**
* @author Administrator
*create table room(
room_id int primary key auto_increment,
room_no varchar(10) not null,
room_type char(1) not null,
room_equip varchar(20) not null,
room_status char(1) not null,
room_memo varchar(200),
hotel_no int not null,
constraint FK_ROOM_HOTEL FOREIGN KEY (hotel_no) references hotel(hotel_no),
constraint UK_HOTEL_ROOM UNIQUE(room_no,hotel_no)
);
*/
public class RoomDaoImpl implements RoomDao {
private static final String SQL_ADD="insert into room(room_no,room_type,room_equip,room_status,room_memo,hotel_no) values(?,?,?,?,?,?)";
private static final String SQL_LOADALL="select * from room order by room_id desc";
private static final String SQL_RENOVE="delete from room where room_id=?";
private static final String SQL_LOADBYID="select * from room where room_id=?";
private static final String SQL_UPDATE="update room set room_no=?,room_type=?,room_equip=?,room_status=?,room_memo=?,hotel_no=? where room_id=?";
/* (non-Javadoc)
* @see edu.fzu.hotelsys.dao.RoomDao#add(edu.fzu.hotelsys.domain.Room)
*/
public void add(Room room) {
Connection conn = DBUtils.getInstance().getConn();
PreparedStatement pstmt = null;
try {
pstmt = conn.prepareStatement(SQL_ADD);
pstmt.setString(1, room.getRoomNo());
pstmt.setString(2, room.getRoomType());
StringBuffer sb=new StringBuffer();
for(String equip:room.getRoomEquip())
sb.append(equip).append("|"); //{a,b,c} => a|b|c|
if(sb.length()>0) sb.deleteCharAt(sb.length()-1);
pstmt.setString(3, sb.toString());
pstmt.setString(4, room.getRoomStatus());
pstmt.setString(5, room.getRoomMemo());
pstmt.setInt(6, room.getHotel().getHotelNo());
pstmt.executeUpdate();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
DBUtils.getInstance().releaseRes(conn, pstmt, null);
}
}
/* (non-Javadoc)
* @see edu.fzu.hotelsys.dao.RoomDao#loadall()
*/
public List<Room> loadRooms(RoomQueryHelper helper) {
Connection conn = DBUtils.getInstance().getConn();
PreparedStatement pstmt = null;
ResultSet rs = null;
List<Room> roomList = null;
try {
pstmt = conn.prepareStatement(this.buildSqlByHelper(helper));
rs = pstmt.executeQuery();
roomList = new ArrayList<Room>();
while (rs.next()) {
Room room = new Room();
room.setRoomId(rs.getInt("room_id"));
room.setRoomNo(rs.getString("room_no"));
room.setRoomType(rs.getString("room_type"));
room.setRoomEquip(rs.getString("room_equip").split("\\|"));
room.setRoomStatus(rs.getString("room_status"));
room.setRoomMemo(rs.getString("room_memo"));
HotelDao hotelDao=new HotelDaoJDBCImpl();
room.setHotel(hotelDao.getHotelByNo(rs.getInt("hotel_no")));
roomList.add(room);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
DBUtils.getInstance().releaseRes(conn, pstmt, rs);
}
return roomList;
}
public void del(Integer roomId) {
Connection conn = DBUtils.getInstance().getConn();
PreparedStatement pstmt = null;
try {
pstmt = conn.prepareStatement(SQL_RENOVE);
pstmt.setInt(1, roomId);
pstmt.executeUpdate();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
DBUtils.getInstance().releaseRes(conn, pstmt, null);
}
}
public Room getRoomById(Integer roomId) {
Connection conn = DBUtils.getInstance().getConn();
PreparedStatement pstmt = null;
ResultSet rs = null;
Room room= null;
try {
pstmt = conn.prepareStatement(SQL_LOADBYID);
pstmt.setInt(1,roomId);
rs = pstmt.executeQuery();
if (rs.next()) {
room = new Room();
room.setRoomId(rs.getInt("room_id"));
room.setRoomNo(rs.getString("room_no"));
room.setRoomType(rs.getString("room_type"));
room.setRoomEquip(rs.getString("room_equip").split("\\|"));
room.setRoomStatus(rs.getString("room_status"));
room.setRoomMemo(rs.getString("room_memo"));
HotelDao hotelDao=new HotelDaoJDBCImpl();
room.setHotel(hotelDao.getHotelByNo(rs.getInt("hotel_no")));
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
DBUtils.getInstance().releaseRes(conn, pstmt, rs);
}
return room;
}
public void update(Room room) {
Connection conn = DBUtils.getInstance().getConn();
PreparedStatement pstmt = null;
try {
pstmt = conn.prepareStatement(SQL_UPDATE);
pstmt.setString(1, room.getRoomNo());
pstmt.setString(2, room.getRoomType());
StringBuffer sb=new StringBuffer();
for(String equip:room.getRoomEquip())
sb.append(equip).append("|"); //{a,b,c} => a|b|c|
if(sb.length()>0) sb.deleteCharAt(sb.length()-1);
pstmt.setString(3, sb.toString());
pstmt.setString(4, room.getRoomStatus());
pstmt.setString(5, room.getRoomMemo());
pstmt.setInt(6, room.getHotel().getHotelNo());
pstmt.setInt(7, room.getRoomId());
pstmt.executeUpdate();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
if(e.getMessage().contains("UK_HOTEL_ROOM")){
HotelDao hotelDao=new HotelDaoJDBCImpl();
Hotel hotel=hotelDao.getHotelByNo(room.getHotel().getHotelNo());
throw new DataAccessException(hotel.getHotelName()+room.getRoomNo()+"房间已经存在,无法执行修改!");
}
} finally {
DBUtils.getInstance().releaseRes(conn, pstmt, null);
}
}
private String buildSqlByHelper(RoomQueryHelper helper){
String sql="select * from room where 1=1 ";
if(helper.getHotelNo()!=null){
sql+=" and hotel_no="+helper.getHotelNo();
}
if(helper.getRoomType()!=null){
sql+=" and room_type='"+helper.getRoomType()+"'";
}
if(helper.getRoomStatus()!=null){
sql+=" and room_status='"+helper.getRoomStatus()+"'";
}
sql+=" order by room_id desc";
return sql;
}
public Long countRooms(RoomQueryHelper helper) {
String sql=this.buildSqlByHelper(helper);
sql=sql.replace("*","count(*) as total");
sql=sql.substring(0, sql.lastIndexOf("order"));
System.out.println("sql-count:"+sql);
Connection conn = DBUtils.getInstance().getConn();
PreparedStatement pstmt = null;
ResultSet rs = null;
long count=0L;
try {
pstmt = conn.prepareStatement(sql);
rs=pstmt.executeQuery();
if(rs.next()){
count=rs.getLong("total");
}
} catch (SQLException e) {
e.printStackTrace();
}finally{
DBUtils.getInstance().releaseRes(conn, pstmt, rs);
}
return count;
}
public List<Room> loadScopedRooms(RoomQueryHelper helper, int startIndex,int fetchSize) {
String sql=this.buildSqlByHelper(helper);
sql+=" limit ?,?";
System.out.println(sql);
Connection conn = DBUtils.getInstance().getConn();
PreparedStatement pstmt = null;
ResultSet rs = null;
List<Room> roomList = null;
try {
pstmt = conn.prepareStatement(sql);
pstmt.setInt(1,startIndex-1);
pstmt.setInt(2,fetchSize);
rs = pstmt.executeQuery();
roomList = new ArrayList<Room>();
while (rs.next()) {
Room room = new Room();
room.setRoomId(rs.getInt("room_id"));
room.setRoomNo(rs.getString("room_no"));
room.setRoomType(rs.getString("room_type"));
room.setRoomEquip(rs.getString("room_equip").split("\\|"));
没有合适的资源?快使用搜索试试~ 我知道了~
毕业设计-酒店管理系统
共136个文件
java:31个
class:31个
gif:20个
1星 需积分: 3 1 下载量 10 浏览量
2023-11-20
14:06:55
上传
评论
收藏 1.55MB ZIP 举报
温馨提示
毕业设计,分店信息表、房间信息表、用户表;java、serverlet、mysql
资源推荐
资源详情
资源评论
收起资源包目录
毕业设计-酒店管理系统 (136个子文件)
RoomDaoImpl.class 9KB
HotelMgrServlet.class 7KB
HotelDaoJDBCImpl.class 7KB
RoomMgrServlet.class 5KB
RoomServiceImpl.class 4KB
AuthImage.class 4KB
HotelServiceImpl.class 3KB
SecurityMgrServlet.class 3KB
Page.class 2KB
DBUtils.class 2KB
AuthentictionFilter.class 2KB
Room.class 2KB
UserDaoJDBCImpl.class 2KB
DBUtilsOld.class 2KB
UserServiceImpl.class 2KB
Hotel.class 2KB
TransactionManager.class 1KB
CharacterEncodingFilter.class 1KB
VersionInfo.class 1KB
RoomQueryHelper.class 1KB
User.class 945B
DataAccessException.class 799B
ApplicationException.class 781B
RoomDao.class 776B
Tester.class 765B
HotelDao.class 657B
RoomService.class 653B
HotelService.class 590B
ValueObject.class 306B
UserService.class 219B
UserDao.class 191B
.classpath 529B
org.eclipse.wst.common.component 462B
org.eclipse.wst.jsdt.ui.superType.container 49B
default.css 9KB
user_Login.css 6KB
xtree.css 5KB
skin.css 4KB
application.css 818B
list.css 498B
form.css 416B
user_top_c.gif 7KB
user_botton.gif 6KB
user_top_l.gif 6KB
user_bottom_c.gif 5KB
user_bottom_r.gif 4KB
user_bottom_l.gif 4KB
menu_bg2.gif 4KB
user_top_r.gif 4KB
user_main_l.gif 3KB
user_main_r.gif 3KB
user_main_c.gif 2KB
menu_bgs.gif 2KB
user_login_name.gif 2KB
user_login_password.gif 1KB
menu_bg1.gif 1KB
user_login_validatecode.gif 1KB
user_captcha.gif 1KB
out.gif 859B
user_all_bg.gif 811B
top-right.gif 556B
mysql-connector-java-5.0.4-bin.jar 484KB
proxool-0.9.0RC3_.jar 430KB
commons-lang3-3.0.1.jar 306KB
commons-io-1.2.jar 64KB
commons-fileupload-1.1.1.jar 31KB
commons-logging.jar 31KB
RoomDaoImpl.java 8KB
HotelMgrServlet.java 7KB
HotelDaoJDBCImpl.java 7KB
RoomMgrServlet.java 6KB
RoomServiceImpl.java 4KB
SecurityMgrServlet.java 4KB
HotelServiceImpl.java 3KB
AuthImage.java 3KB
DBUtils.java 2KB
Page.java 2KB
AuthentictionFilter.java 2KB
DBUtilsOld.java 1KB
Room.java 1KB
UserDaoJDBCImpl.java 1KB
Hotel.java 1KB
TransactionManager.java 1KB
UserServiceImpl.java 1KB
CharacterEncodingFilter.java 1KB
VersionInfo.java 923B
ApplicationException.java 735B
DataAccessException.java 734B
RoomQueryHelper.java 690B
User.java 615B
RoomDao.java 566B
HotelDao.java 491B
HotelService.java 478B
RoomService.java 466B
Tester.java 324B
UserService.java 217B
UserDao.java 195B
ValueObject.java 114B
no-pic.jpg 4KB
jquery-1.8.3.js 260KB
共 136 条
- 1
- 2
资源评论
- solidworks2021ba2024-01-21#毫无价值
wrpys
- 粉丝: 18
- 资源: 8
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功