09009
[Java] 고객 관리 (5) - delete 본문
데이터 삭제 - 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 |