May 11, 2021 - MySQL DB 내 특정 값의 개수 조회 / 전체 개수 조회
*5월11일
-호텔 관리 프로그램 예제를 진행하면서 각 방의 availability를 int로 처리하였다. 최초 구상 시, 1은 빈방, 2는 입실중 상태, 3은 퇴실 후 청소전 상태와 같이 나타내려고 했기 때문이다.
-따라서 전체방의 크기 중 1, 2, 3이 각각 몇개씩 있는지 DB 내에서 확인할 수 있다면 간략하게 객실현황을 나타낼 수 있다.
public int simRoomSt() {
String SQL = "select count(*) from room where roomStatus = 2"; //조건을 만족하는 값의 개수를 구하는 SQL문이다. roomStatus가 2인, 즉 입실중 상태의 모든 방의 개수를 구한다.
try {
pstmt = conn.prepareStatement(SQL);
rs = pstmt.executeQuery(); //rs에 executeQuery()를 담은 후,
if(rs.next()) {
return rs.getInt(1); // rs.getInt(1);로 조건을 만족하는 방의 개수를 리턴할 수 있다.
}
} catch (SQLException e) {
System.out.println("리스트 출력 실패");
e.printStackTrace();
}
return 0;
}
int availRoom = Controller.room.size() - dao.simpleRoomSt(); //전체 방의 크기 중, 리턴값(점유중인 방)을 뺀다.
System.out.println("'" + availRoom + "/50'" + "개의 방 투숙 가능"); // 그후 간략하게 콘솔에 띄울 수 있다.