○ JDBC 행수정 SQL 작성
① SQL작성 : 총점(tot), 평균(aver)구하기
StringBuilder sql=new StringBuilder();
sql.append(" UPDATE sungjuk ");
sql.append(" SET tot=kor+eng+mat, aver=(kor+eng+mat)/3 ");
② SQL형식으로 변환
PreparedStatement pstmt = con.prepareStatement(sql.toString());
③ SQL문 실행 : 실행했을 때 행의 개수 반환
int result = pstmt.executeUpdate();
④ 자원반납 : 순서 주의 (가장 늦게 연거부터 닫기)
pstmt.close();
con.close();
○ sungjuk테이블 행수정 전체 소스
import java.sql.*;
public class Test02_update {
public static void main(String[] args) {
try {
String url ="jdbc:oracle:thin:@localhost:1521:xe";
String user ="system";
String password="1234";
String driver ="oracle.jdbc.driver.OracleDriver";
Class.forName(driver);
Connection con =DriverManager.getConnection(url, user, password);
System.out.println("오라클 DB 서버 연결 성공");
StringBuilder sql=new StringBuilder();
sql.append(" UPDATE sungjuk ");
sql.append(" SET tot=kor+eng+mat ");
sql.append(" ,aver=(kor+eng+mat)/3 ");
PreparedStatement pstmt = con.prepareStatement(sql.toString());
int result = pstmt.executeUpdate();
if(result==0) {
System.out.println("행 수정 실패");
}else {
System.out.println("행 수정 성공");
}
pstmt.close();
con.close();
} catch (Exception e) {
System.out.println("오라클 DB 연결 실패 : " + e);
}
}//main() end
}//class end
○ JDBC 행삭제 SQL 작성
- SQL작성 : sno=22인 행 삭제
StringBuilder sql=new StringBuilder();
sql.append(" DELETE FROM sungjuk ");
sql.append(" WHERE sno=22 ");
○ sungjuk테이블 행삭제 전체 소스
- 자바에서 수정,삭제 등 할때는 autocommit이 걸려있어서 rollback이 안되므로 주의
import java.sql.*;
public class Test03_delete {
public static void main(String[] args) {
try {
String url ="jdbc:oracle:thin:@localhost:1521:xe";
String user ="system";
String password="1234";
String driver ="oracle.jdbc.driver.OracleDriver";
Class.forName(driver);
Connection con =DriverManager.getConnection(url, user, password);
System.out.println("오라클 DB 서버 연결 성공");
StringBuilder sql=new StringBuilder();
sql.append(" DELETE FROM sungjuk WHERE sno=22 ");
PreparedStatement pstmt = con.prepareStatement(sql.toString());
int result = pstmt.executeUpdate();
if(result==0) {
System.out.println("행 삭제 실패");
}else {
System.out.println("행 삭제 성공");
}
pstmt.close();
con.close();
} catch (Exception e) {
System.out.println("오라클 DB 연결 실패 : " + e);
}
System.out.println("END");
}//main() end
}//class end
'Backend > JAVA_JDBC' 카테고리의 다른 글
06. JDBC, select문 활용 연습문제(count, avg, like, paging) (0) | 2022.06.18 |
---|---|
05. JDBC, 테이블에서 행 가져오기 (select) (0) | 2022.06.17 |
04. JDBC, 변수를 이용한 행추가 & 연습문제 (0) | 2022.06.16 |
02. JDBC, 행 추가 (insert) (0) | 2022.06.15 |
01. JDBC, 자바와 오라클DB(18c XE) 연동 (0) | 2022.06.14 |
댓글