안녕하세요
이번 시간에는 기존의 방식과는 달리 테이블에 데이터를 수정하는 예제입니다
데이터를 삭제 할 때 DB.properties라는 파일을 추가하여
데이터를 삭제해보겠씁니다.
잘 봐주세요~!!
패키지 익스플로러에 파일을 추가해서 위와 같이 작성하고 저장하자
========================================================
public class test {
public static void main(String[] args) throws Exception {
//DB.properties 파일과 스트림 연결
FileReader fr = new FileReader("DB.properties");
Properties prop = new Properties();
//키 값과 벨류값을 매핑하여 저장한다.
prop.load(fr);
//DB.properties 파일 내용이 Properties 객체에 저장됨
Class.forName(prop.getProperty("driver"));
String url=prop.getProperty("dburl");
String user=prop.getProperty("user");
String pwd=prop.getProperty("pwd");
Connection con = DriverManager.getConnection(url,user,pwd);
System.out.println("DB 연결 성공");
// 삭제할 글번호를 입력받는다.=>JOPtionPane 이용
String idxStr=JOptionPane.showInputDialog("삭제할 글 번호를 입력하세요");
//Statement 얻어오기
Statement stmt = con.createStatement();
String sql = "delete from memo where idx = '"+idxStr+"'";
System.out.println(sql);
/*DML문장 (INSERT, DELETE, UPDATE문)인 경우
* public int executeUpdate(String sql) 메소드를 활용한다.
* sql문에 의해 영향 받은 레코드수를 반환한다.
* select 할 때는 쓰지 않는다.
*/
int delCount=stmt.executeUpdate(sql);
System.out.println("삭제된 레코드수 : " + delCount);
if(delCount>0){
System.out.println("삭제 처리됨");
}else{
System.out.println("삭제 실패 : 글번호가 존재하지 않아요");
}
if(stmt!=null) stmt.close();
if(con!=null) con.close();
}
}
========================================================
위의 소스 코드를 실행하면 다음과 같습니다.
먼저 sql developer에서 select * from memo로 메모 테이블을 조회하면
5개의 행이 있습니다.
소스 코드를 실행하면 맨 처음에 삭제할 글 번호를 입력하라는 알림창이 나옵니다.
전 5번째 행 데이터를 지워보겠습니다.
잠시후 자바 콘솔 창에는 5번째 레코드가 삭제되었다는 메시지가 뜹니다.
자 그럼 sql developer에서 확인을 해보겠습니다.
5번째에 있던 네이버 데이터가 사라졌습니다.
성공적으로 삭제가 됬습니다.
댓글 없음:
댓글 쓰기