原生态JAVAEE酒店管理系统系列四

忙完了自己的事,继续之前的酒店管理系统。基本每天挤一点时间出来做这个系统。顺便训练自己的基础

在贴代码之前写一件事,中午在测试房间分页的时候,一直显示getConn()为空,所用的连接池是proxool,搞了好久,一步一步debug才突然想起来,连接池是需要跟服务器挂钩的,直接在本地用java写测试类调用是不行的。。解决的办法就是在servlet里面测试

Hotel的基本就是之前的,开始准备Room的


贴上room的dao实现:


package edu.fjnu.hotelsys.dao.impl;

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.fjnu.hotelsys.dao.HotelDao;
import edu.fjnu.hotelsys.dao.RoomDao;
import edu.fjnu.hotelsys.domain.Hotel;
import edu.fjnu.hotelsys.domain.Room;
import edu.fjnu.hotelsys.exception.DataAccessException;
import edu.fjnu.hotelsys.service.impl.RoomQueryHelper;
import edu.fjnu.hotelsys.utils.DBUtils;

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_LOAD="select * from room order by room_id desc";
	private static final String SQL_REMOVE="delete 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 = ?";
	private static final String SQL_FINDBYID="select * from room where room_id = ?";
	private static final String SQL_LOAD_BASE="select * from room where 1=1";
	
	private HotelDao hotelDao = new HotelDaoImpl();
	private Connection conn;
	private PreparedStatement pstmt;
	private ResultSet rset;
	/**
	 * 添加房间
	 * @param room
	 * @author Harry
	 */
	public void addRoom(Room room) {
		conn =DBUtils.getInstance().getConn();
		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("|");
			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().getHotelId());
			pstmt.executeUpdate();
			
		} catch (SQLException e) {
			e.printStackTrace();
		}finally{
			DBUtils.getInstance().ReleaseRes(conn, pstmt, null);
		}
		
	}

	/**
	 * 删除房间
	 * @param id
	 * @author Harry
	 */
	public void removeRoom(Integer id) {
		
		conn = DBUtils.getInstance().getConn();
		try {
			pstmt = conn.prepareStatement(SQL_REMOVE);
			
			pstmt.setInt(1, id);
			pstmt.executeUpdate();
		} catch (SQLException e) {
			e.printStackTrace();
		}finally{
			DBUtils.getInstance().ReleaseRes(conn, pstmt, null);
		}
	}

	/**
	 * 更新房间
	 * @param room
	 * @author Harry
	 */
	public void updateRoom(Room room){
		conn = DBUtils.getInstance().getConn();
		try {
			pstmt = conn.prepareStateme
  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值