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;
}
}
}