09009

[Java] 고객 관리 (5) - delete 본문

Back-End/JAVA
[Java] 고객 관리 (5) - delete
09009 2023. 4. 16.

데이터 삭제 - delete

 

✍ Ex01.java

   // 위, 아래 중복 내용 생략  
    private static void delete() {
        System.out.println("삭제할 아이디를 입력하세요");
        String id = sc.nextLine();
        int result = cs.delete(id);
        if (result > 0) System.out.println("삭제되었습니다.");
        else System.out.println("삭제에 실패하였습니다.");
    }

Ex01에서는 고객 정보 삭제 업무를 CS에게 전달한다.

 

✍ CustomerServiceImpl.java

 // 위, 아래 중복 내용 생략    
  public int delete(String id) {
        int result = 0;
        Customer customer2 = cd.select(id);
        if (customer2 == null) // 해당하는 id를 읽었을 때 데이터가 없다
            System.out.println("없는 데이터는 삭제할 수 없습니다.");
        else result = cd.delete(id);
        return result;
    }

CS는 Ex01에서 받아온 고객의 id를 조회하는 작업을 DAO에게 맡긴다.

DAO에서 고객 정보가 조회되었을 경우 (전달받은 id를 읽었을 때 데이터가 존재할 때) 정보를 삭제하는 작업을 진행하고,

고객 정보가 조회되지 않았을 경우 (전달받은 id를 읽었을 때 데이터가 없을 경우)

정보를 삭제할 수 없도록 설계한다.

 

 

✍ CustomerDaoImpl.java

 // 위, 아래 중복 내용 생략    
public int delete(String id) {
        int result = 0;
        PreparedStatement pstmt = null;
        String sql = "delete from customer where id=?";
        Connection conn = getConnection();
        try {
            pstmt = conn.prepareStatement(sql);
            pstmt.setString(1, id);
            result = pstmt.executeUpdate();
        } catch (Exception e) {	
            System.out.println(e.getMessage());
        } finally {
            try{
                if (pstmt != null) pstmt.close();
                if (conn  != null) conn.close();
            } catch (Exception e) {		}
        }
        return result;
    }

DAO는 정보 삭제 작업을 완료한 후 반환값 result를 CS에게 전달하고 CS는 Ex01에게 전달하여

Ex01은 삭제가 완료되었다는 메시지를 출력하여 사용자에게 알려준다.

'Back-End > JAVA' 카테고리의 다른 글

[Java] 변수  (0) 2023.05.01
[Java] 고객 관리 (6) - 목록 확인  (0) 2023.04.17
[Java] 고객 관리 (4) - update  (0) 2023.04.16
[Java] 고객 관리 (3) - insert  (0) 2023.04.16
[Java] 고객 관리 (2) - select  (0) 2023.04.16