본문 바로가기

콩's EDUCATION/콩's JAVA_RUN

EmpMain, EmpDAO Delete 삭제 기능

EMP MAIN과 EMP DAO 실행 예제


 

EmpMain.java

 

package emp;

import java.util.Scanner;

public class EmpMain {
 public static void main(String[] args) {
  // 삭제 메뉴 출력 : 선택 : empno 입력
  // EmpDAO 클래스 객체 생성 : deleteEmp 메소드 호출
  // while(true){ } 반복으로 선택은 추후 해본다.
  System.out.println("===EMP 테이블 관리===");
  System.out.println("1. EMP 조회");
  System.out.println("2. EMP 추가");
  System.out.println("3. EMP 삭제");
  System.out.println("4. 프로그램 종료");
  System.out.println("메뉴 번호 선택 : ");
  // System.out.println("===================");
  // system.exit(0); or return 프로그램 종료
  Scanner input = new Scanner(System.in);
  int menu = input.nextInt();
  if (menu == 3) {
   boolean result = false;
   // 사번 리스트 먼저 출력
   // 삭제할 아이디가 만약 없을 경우....
   // 다시 입력을 받고자 한다?
   do {
    System.out.print("삭제할 사번을 입력 : ");

    int empno = input.nextInt(); // 2000
    EmpDAO dao = new EmpDAO();
    result = dao.deleteEmp(empno);
   } while (result == false);

  }
 }
}

 

EmpDAO.java

 

package emp;

import java.sql.*;

class EmpDAO {
 public boolean deleteEmp(int no) {
  // empno 전달값 해당하는 레코드를 emp 테이블에서 삭제
  //
  // oracle jdbc drive 호출
  // con 연결
  // sql 생성 : PreparedStatment 설정
  // 삭제 이후에 empno+ id 데이터 삭제 완료 출력
  // con 연결 해제,
  // try catch finally
  Connection con = null;
  PreparedStatement sta = null;
  boolean result = false;
  
  try {
   Class.forName("oracle.jdbc.driver.OracleDriver");
   con = DriverManager.getConnection(
    "jdbc:oracle:thin:@127.0.0.1:1521:xe", "scott", "tiger");
   
   String deleteSql = "DELETE FROM emp WHERE empno = ?";
   // con.setAutoCommit(true);
   sta = con.prepareStatement(deleteSql);
   sta.setInt(1,no);
   int rs = sta.executeUpdate();
   if(rs>=1){
    System.out.println(no+"사번 레코드 삭제 완료");
    result = true;
   }else{
    System.out.println("사번 레코드가 없습니다.");    
   }
 
   sta.close();
   con.close();
  } catch (ClassNotFoundException e) {
   System.out.println("클래스 연결에 문제가 있습니다.");
  } catch (SQLException e) {
   e.printStackTrace();
   System.out.println("SQL 연결에 문제가 있습니다.");
  } finally {
   try {
    // 인터페이스 메소드 : 실제 구현 클래스
    // oracle jdbc driver; PreparedStatment
    // isClosed 구현되어 있지 않다.
    if (!con.isClosed())
     con.close();
   } catch (SQLException e) {
    System.out.println("finally 오류");
   } return result;
  }

 }

}

 


EmpDAO.java

 

EmpMain.java