티스토리 뷰

java,web study/3주차 (7월 15일 ~21일)

CRUDTest

doublemetal 2013. 7. 18. 17:41

package Query;


import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;


public class CRUDTest {

Connection con;


static {

try {

Class.forName("oracle.jdbc.driver.OracleDriver");

// JDBC 드라이버 클래스 네임

} catch (ClassNotFoundException cne) {

cne.printStackTrace();

// jar 파일이 존재하지 않을 경우

}

}


public void connect() { // 연결 메소드

try {

con = DriverManager.getConnection(

"jdbc:oracle:thin:@localhost:1521:orcl", "scott", "tiger");

// 클래스 멤버 변수 con을 이용하여 커넥트

// 디비이름과 계정명, 비밀번호

System.out.println("Connection Success!");

} catch (SQLException se) {

se.printStackTrace();

}

}


public void insert() {

Statement stmt = null;

try {

stmt = con.createStatement(); // 쿼리문 작성을 위한 statement 클래스 변수

String sql = "INSERT INTO emp VALUES(100, 'jkkang', 'MANAGER', 7839, '81/02/22', 2900, '', '20')";

// 쿼리문 - 스트링


int count = stmt.executeUpdate(sql); // 쿼리문 실행, 적용된 행의 개수 반환

if (count > 0) {

System.out.println("insert success!");

} else {

System.out.println("insert fail");

}

} catch (SQLException se) {

System.out.println("insert fail");

se.printStackTrace();

} finally {

try {

stmt.close();

con.close();

// 사용한 객체들은 닫아준다.

} catch (Exception e) {

e.printStackTrace();

}

}

}


public void select() {

Statement stmt = null;

ResultSet rs = null;

try {

stmt = con.createStatement(); // 쿼리문 준비

String sql = "SELECT * FROM emp";

// EMP 테이블 셀렉트


rs = stmt.executeQuery(sql); // 쿼리문 실행

while (rs.next()) { // 다음에 읽을 쿼리 결과가 없으면 종료

System.out.println("사원번호 : " + rs.getInt("empno") + ",이름 : "

+ rs.getString("ename") + ",직무 : "

+ rs.getString("job"));

}

} catch (SQLException se) {

se.printStackTrace();

} finally {

try {

stmt.close();

con.close();

} catch (Exception e) {

e.printStackTrace();

}

}

}


public void update() {

Statement stmt = null;

try {

stmt = con.createStatement(); // 쿼리문 준비

String sql = "UPDATE emp SET ename = 'kangjk' WHERE empno = 100";

// 업데이트 쿼리문, emp 테이블에서 empno이 100인 행의 ename을 kangjk로 업데이트


int count = stmt.executeUpdate(sql); // 적용된 행의 개수 반환

if (count > 0) {

System.out.println("update success!");

} else {

System.out.println("update fail");

}

} catch (SQLException se) {

System.out.println("update fail");

se.printStackTrace();

} finally {

try {

stmt.close();

con.close();

} catch (Exception e) {

e.printStackTrace();

}

}

}


public void delete() {

Statement stmt = null;

try {

stmt = con.createStatement(); // 쿼리문 준비

String sql = "DELETE emp WHERE empno = 100";

// emp 테이블에서 empno이 100인 행을 삭제한다.


int count = stmt.executeUpdate(sql); // 적용된 행의 개수 반환

if (count > 0) {

System.out.println("delete success!");

} else {

System.out.println("delete fail");

}

} catch (SQLException se) {

System.out.println("delete fail");

se.printStackTrace();

} finally {

try {

stmt.close();

con.close();

} catch (Exception e) {

e.printStackTrace();

}

}

}


public static void main(String[] args) {

// TODO Auto-generated method stub

CRUDTest st = new CRUDTest();

st.connect(); // 디비 연결


st.insert(); // 삽입 구문

System.out.println("insert 수행 후");


st.connect(); // 다시 연결

st.select(); // 검색


st.connect();

st.update(); // 갱신

System.out.println("update 수행 후");


st.connect();

st.select();


st.connect();

st.delete(); // 삭제

System.out.println("delete 수행 후");


st.connect();

st.select(); // 모든 쿼리문을 실행한 결과 테이블

}

}



결과 : 

Connection Success!

insert success!

insert 수행 후

Connection Success!

사원번호 : 1234,이름 : jjang,직무 : MANAGER

사원번호 : 7499,이름 : ALLEN,직무 : SALESMAN

사원번호 : 7521,이름 : WARD,직무 : SALESMAN

사원번호 : 7566,이름 : JONES,직무 : MANAGER

사원번호 : 7654,이름 : MARTIN,직무 : SALESMAN

사원번호 : 7698,이름 : BLAKE,직무 : MANAGER

사원번호 : 7782,이름 : CLARK,직무 : MANAGER

사원번호 : 7788,이름 : SCOTT,직무 : ANALYST

사원번호 : 7839,이름 : KING,직무 : PRESIDENT

사원번호 : 7844,이름 : TURNER,직무 : SALESMAN

사원번호 : 7876,이름 : ADAMS,직무 : CLERK

사원번호 : 7900,이름 : JAMES,직무 : CLERK

사원번호 : 7902,이름 : FORD,직무 : ANALYST

사원번호 : 100,이름 : jkkang,직무 : MANAGER

Connection Success!

update success!

update 수행 후

Connection Success!

사원번호 : 1234,이름 : jjang,직무 : MANAGER

사원번호 : 7499,이름 : ALLEN,직무 : SALESMAN

사원번호 : 7521,이름 : WARD,직무 : SALESMAN

사원번호 : 7566,이름 : JONES,직무 : MANAGER

사원번호 : 7654,이름 : MARTIN,직무 : SALESMAN

사원번호 : 7698,이름 : BLAKE,직무 : MANAGER

사원번호 : 7782,이름 : CLARK,직무 : MANAGER

사원번호 : 7788,이름 : SCOTT,직무 : ANALYST

사원번호 : 7839,이름 : KING,직무 : PRESIDENT

사원번호 : 7844,이름 : TURNER,직무 : SALESMAN

사원번호 : 7876,이름 : ADAMS,직무 : CLERK

사원번호 : 7900,이름 : JAMES,직무 : CLERK

사원번호 : 7902,이름 : FORD,직무 : ANALYST

사원번호 : 100,이름 : kangjk,직무 : MANAGER

Connection Success!

delete success!

delete 수행 후

Connection Success!

사원번호 : 1234,이름 : jjang,직무 : MANAGER

사원번호 : 7499,이름 : ALLEN,직무 : SALESMAN

사원번호 : 7521,이름 : WARD,직무 : SALESMAN

사원번호 : 7566,이름 : JONES,직무 : MANAGER

사원번호 : 7654,이름 : MARTIN,직무 : SALESMAN

사원번호 : 7698,이름 : BLAKE,직무 : MANAGER

사원번호 : 7782,이름 : CLARK,직무 : MANAGER

사원번호 : 7788,이름 : SCOTT,직무 : ANALYST

사원번호 : 7839,이름 : KING,직무 : PRESIDENT

사원번호 : 7844,이름 : TURNER,직무 : SALESMAN

사원번호 : 7876,이름 : ADAMS,직무 : CLERK

사원번호 : 7900,이름 : JAMES,직무 : CLERK

사원번호 : 7902,이름 : FORD,직무 : ANALYST



'java,web study > 3주차 (7월 15일 ~21일)' 카테고리의 다른 글

ListenerSample  (0) 2013.07.19
리스너 인터페이스와 메소드  (0) 2013.07.19
HashSetEx5  (0) 2013.07.18
HashSetLotto  (0) 2013.07.18
HashSetEx1 & Ex2  (0) 2013.07.18
댓글
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/03   »
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 29 30
31
글 보관함