티스토리 뷰
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 |