반응형
package com.dao;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.Scanner;
/*
* 작업순서
* 1. Driver Loading
* -> 데이터베이스와 연결하는 드라이버 파일을 찾는다.
* -> 생성자에서 구현한다.
*
* 2. Connection
* -> 연결을 관리하는 Connection 객체를 생성한다.
*
* 3. SQL 작업처리
* -> 작업을 처리할 PreparedStatement 객체를 생성한다.
* -> delete dbtest where name = '홍당무';
* -> 이름이 홍당무인 데이터를 삭제한다.
*
* 4. 반환되는 결과는 int 변수에 담는다.
*
* 5. 접속을 종료한다.
*/
class DeleteTest{
//1. Driver Loading
public DeleteTest(){
try{
//OracleDriver 클래스의 존재유무 검사
//없으면 예외 발생, 즉 등록되어 있지 않으면 예외 발생
Class.forName("oracle.jdbc.driver.OracleDriver");
System.out.println("드라이버 등록 성공");
}catch(ClassNotFoundException e){
System.out.println("드라이버 등록 실패");
e.printStackTrace();
}
}
//2. Connection
public Connection getConnection(){
Connection conn = null;
try {
/*
* Oracle과 연동 -(1 : DB URL 2 : DB USER 3 : 패스워드)
* DB URL : SQLDEVELOPER -> 계정 속성 -> 접속세부정보
* */
//오라클과 연결
conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe",
"jspexam2","m1234");
System.out.println("접속 성공");
} catch (SQLException e) {
e.printStackTrace();
}
return conn;
}
//3. SQL 작업처리
public void DeleteArticle(){
Scanner sc = new Scanner(System.in);
System.out.println("삭제할 이름 입력 : ");
String name = sc.next();
//DB
Connection conn = getConnection();
PreparedStatement pstmt = null;
int su = 0;
try{
//?갯수를 사용자가 마음대로 정할 수 있다.
String sql = "delete dbtest where name = ?";
pstmt = conn.prepareStatement(sql);
//1번째 ?에 들어갈 String 입력
pstmt.setString(1, name);
su = pstmt.executeUpdate();
}catch(SQLException e){
e.printStackTrace();
}finally{
try{
if(pstmt != null) pstmt.close();
if(conn != null) conn.close();
if(sc != null) sc.close();
}catch(SQLException e){
e.printStackTrace();
}
}
System.out.println(su + "개 행이 수정되었습니다.");
}
}
public class Exam5 {
public static void main(String[] args) {
DeleteTest dt = new DeleteTest();
dt.DeleteArticle();
}
}
반응형
'IT > DB' 카테고리의 다른 글
DB - JAVA와 DB를 연동하여 프로그래밍하기 - 연습문제 답안 (0) | 2023.04.19 |
---|---|
DB - JAVA와 DB를 연동하여 프로그래밍하기 - 연습문제 (0) | 2023.04.19 |
DB - JAVA와 DB를 연동하여 프로그래밍하기 - update (0) | 2023.04.18 |
DB - JAVA와 DB를 연동하여 프로그래밍하기 - select (0) | 2023.04.18 |
DB - JAVA와 DB를 연동하여 프로그래밍하기 - insert (2) | 2023.04.18 |