일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- jQuery
- Event
- 연산자
- springframework
- 오라클
- css
- 자바
- 설치
- 데이터베이스
- GUI
- JavaScript
- kotlin #return #jump
- html
- String
- File 클래스
- property
- Method
- jsp
- Java
- spring
- 상속
- 다형성
- 윈도우 #단축키
- 파일 입출력
- 코틀린#클래스#상속
- 연락처 프로그램
- javaservlet
- array
- function
- list
- Today
- Total
Binary World
JAVA CLASS : 자바에 오라클 DB 연동하기(수정, 삭제, 선택) 본문
<DB 데이터 수정>
JDBCMain04.java
package edu.java.jdbc04; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.SQLException; import java.sql.Statement; import java.util.Scanner; import oracle.jdbc.driver.OracleDriver; public class JDBCMain04 { // 1. DB에 사용될 상수들 public static final String URL = "jdbc:oracle:thin:@localhost:1521:xe"; public static final String USER = "scott"; // 오라클 계정 이름 public static final String PASSWD = "tiger"; // 오라클 계정 비밀번호 public static final String TABLE_NAME = "ex_contact"; // 테이블 이름 public static final String COL_CID = "cid"; // 첫번째 column public static final String COL_NAME = "name"; // 두번째 column public static final String COL_PHONE = "phone"; // 세번째 column public static final String COL_EMAIL = "email"; // 네번째 column // update ex_contact // set name = ? , phone = ?, email = ? // where cid = ? public static final String SQL_UPDATE = "update " + TABLE_NAME + " set " + COL_NAME + " = ?, " + COL_PHONE + " = ?, " + COL_EMAIL + " = ? " + " where " + COL_CID + " = ?"; public static void main(String[] args) { System.out.println("JDBC 4 - PreparedStatement"); // 키보드 입력 Scanner sc = new Scanner(System.in); Connection conn = null; PreparedStatement pstmt = null; try { DriverManager.registerDriver(new OracleDriver()); System.out.println("드라이버 등록 성공"); conn = DriverManager.getConnection(URL, USER, PASSWD); System.out.println("DB 연결 성공"); // PreparedStatement 객체 생성 pstmt = conn.prepareStatement(SQL_UPDATE); System.out.println("수정할 인덱스 입력>"); int cid = sc.nextInt(); sc.nextLine(); System.out.println("수정할 이름 입력>"); String name = sc.nextLine(); System.out.println("수정할 전화번호 입력>"); String phone = sc.nextLine(); System.out.println("수정할 이메일 입력>"); String email = sc.nextLine(); // SQL 문장을 완성 pstmt.setString(1, name); pstmt.setString(2, phone); pstmt.setString(3, email); pstmt.setInt(4, cid); // SQL 문장 실행(DB 서버로 전송) int result = pstmt.executeUpdate(); System.out.println(result + "행이 수정되었습니다."); } catch (Exception e) { e.printStackTrace(); } finally { try { pstmt.close(); conn.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } sc.close(); } } |
<DB 데이터 선택>
* JDBCMain03.java (전체 선택)
package edu.java.jdbc03; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import oracle.jdbc.driver.OracleDriver; public class JDBCMain03 { // 1. DB에 사용될 상수들 public static final String URL = "jdbc:oracle:thin:@localhost:1521:xe"; public static final String USER = "scott"; // 오라클 계정 이름 public static final String PASSWD = "tiger"; // 오라클 계정 비밀번호 public static final String TABLE_NAME = "ex_contact"; // 테이블 이름 public static final String COL_CID = "cid"; // 첫번째 column public static final String COL_NAME = "name"; // 두번째 column public static final String COL_PHONE = "phone"; // 세번째 column public static final String COL_EMAIL = "email"; // 네번째 column public static void main(String[] args) { System.out.println("JDBC 3 - select all"); Connection conn = null; Statement stmt = null; ResultSet rs = null; // 오라클 드라이버를 메모리에 로드(드라이버 매니저에 등록) try { DriverManager.registerDriver(new OracleDriver()); System.out.println("드라이버 등록 성공"); // DB에 연결(Connection) conn = DriverManager.getConnection(URL, USER, PASSWD); System.out.println("DB 연결 성공"); // SQL 문장 실행을 위한 Statement 생성 stmt = conn.createStatement(); System.out.println("Statement 생성 성공"); // SQL 문장 작성 String sql_select = "select * from ex_contact order by cid"; // SQL 문장 실행 rs = stmt.executeQuery(sql_select); // 결과 확인/처리 // ResultSet.next(); // ResultSet에서 다음 행(row, 레코드)이 있으면 // true를 리턴하고, RS에서 가리키는 위치를 다음 위치로 변경 StringBuffer buffer1 = new StringBuffer(); while (rs.next()) { // 레코드가 존재 int cid = rs.getInt(1); // cid 컬럼 String name = rs.getString(2); // name 컬럼 String phone = rs.getString(3); // phone 컬럼 String email = rs.getString(4); // email 컬럼 buffer1.append(cid + " | ").append(name + " | ").append(phone + " | ").append(email + " | \n"); } // end while () System.out.println(buffer1.toString()); } catch (SQLException e) { e.printStackTrace(); } finally { // 생성된 리소스들을 해제(close) : 생성된 반대순서로 try { rs.close(); stmt.close(); conn.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } // end main() } // end class |
* JDBCMain06 (인덱스 검색)
package edu.java.jdbc06; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.Scanner; import oracle.jdbc.OracleDriver; public class JDBCMain06 { // 1. DB에 사용될 상수들 public static final String URL = "jdbc:oracle:thin:@localhost:1521:xe"; public static final String USER = "scott"; // 오라클 계정 이름 public static final String PASSWD = "tiger"; // 오라클 계정 비밀번호 public static final String TABLE_NAME = "ex_contact"; // 테이블 이름 public static final String COL_CID = "cid"; // 첫번째 column public static final String COL_NAME = "name"; // 두번째 column public static final String COL_PHONE = "phone"; // 세번째 column public static final String COL_EMAIL = "email"; // 네번째 column private static Connection conn = null; private static PreparedStatement pstmt = null; private static ResultSet rs = null;
private static final String SQL_SELECT = "select * from " + TABLE_NAME + " where " + COL_CID + " = ?"; public static void main(String[] args) { System.out.println("jdbc5 - select");
Scanner sc = new Scanner(System.in);
try { DriverManager.registerDriver(new OracleDriver()); System.out.println("드라이버 등록 성공");
conn = DriverManager.getConnection(URL, USER, PASSWD); System.out.println("DB 연결 성공");
pstmt = conn.prepareStatement(SQL_SELECT); System.out.println("검색할 인덱스를 입력>"); int cid = sc.nextInt(); sc.nextLine(); pstmt.setInt(1, cid);
rs = pstmt.executeQuery();
StringBuffer buffer = new StringBuffer(); if (rs.next()) { // 첫번째 데이터(레코드)가 있으면 int id = rs.getInt(COL_CID); String name = rs.getString(COL_NAME); String phone = rs.getString(COL_PHONE); String email = rs.getString(COL_EMAIL);
buffer.append(id + " | ").append(name + " | ").append(phone + " | ").append(email + " | \n"); } System.out.println(buffer.toString());
} catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } finally { try { rs.close(); pstmt.close(); conn.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); }
} sc.close(); } } |
<DB 데이터 삭제>
JDBCMain05.java
package edu.java.jdbc05; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.SQLException; import java.util.Scanner; import oracle.jdbc.driver.OracleDriver; public class JDBCMain05 { // 1. DB에 사용될 상수들 public static final String URL = "jdbc:oracle:thin:@localhost:1521:xe"; public static final String USER = "scott"; // 오라클 계정 이름 public static final String PASSWD = "tiger"; // 오라클 계정 비밀번호 public static final String TABLE_NAME = "ex_contact"; // 테이블 이름 public static final String COL_CID = "cid"; // 첫번째 column public static final String COL_NAME = "name"; // 두번째 column public static final String COL_PHONE = "phone"; // 세번째 column public static final String COL_EMAIL = "email"; // 네번째 column private static final String SQL_DELETE = "delete from " + TABLE_NAME + " where cid =?"; public static void main(String[] args) { System.out.println("JDBC5 - delete"); Scanner sc = new Scanner(System.in); Connection conn = null; PreparedStatement pstmt = null; try { DriverManager.registerDriver(new OracleDriver()); System.out.println("드라이버 등록 성공"); conn = DriverManager.getConnection(URL, USER, PASSWD); System.out.println("DB 연결 성공");
pstmt = conn.prepareStatement(SQL_DELETE); System.out.println("삭제할 인덱스를 입력>"); int cid = sc.nextInt(); sc.nextLine(); pstmt.setInt(1, cid); int result = pstmt.executeUpdate(); System.out.println(result + "행이 삭제되었습니다."); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } finally { try { pstmt.close(); conn.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); }
} sc.close(); } } |
'개발자의 길 > JAVA' 카테고리의 다른 글
JAVA CLASS : 자바에 오라클 DB 연동하기(데이터 삽입) (0) | 2017.01.23 |
---|---|
JAVA CLASS : GUI (스윙) (0) | 2017.01.17 |
JAVA CLASS : 파일 입출력(File 클래스) 03 - 폴더 생성, 삭제, 변경 (0) | 2017.01.16 |
JAVA CLASS : 파일 입출력(File 클래스) 02 - Serializable (0) | 2017.01.16 |
JAVA CLASS : 파일 입출력(File 클래스) 01 - 기본 정의 및 사용 (0) | 2017.01.12 |