오라클에 JDBC 접근 가장 기초 틀 예문


Main Class


import java.sql.ResultSet;

import java.sql.Statement;

import java.sql.Connection;

import java.sql.DriverManager;

import java.util.ArrayList;

import java.util.List;


import GogekVO;


public class yMain {

// STEP1. DB driver 초기화___________//

// 정형화된 공식

//_______________________________________//

static {

try {

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

} catch (ClassNotFoundException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}


public static void main(String[] args) throws Exception{

// STEP2. 연결______________________//

Connection conn = null;

//____________________________________//

// STEP3. 접근______________________//

//_____________________________________//

// DB에 접근하기 위한 정보가 필요하다.

String url = "jdbc:oracle:thin:@localhost:1521:xe";

conn = DriverManager.getConnection(url, "test", "test");

System.out.println("--connect success!!---");

// STEP4. 명령처리 객체 (기본적으로 AutoCommit으로 설정되어있다)______//

//___________________________________________________________________//

Statement stmt = null;

stmt  = conn.createStatement();

/*

* 설명

* 모든 SQL 명령을 처리(stmt) :DDL, DCL, DML .

* select : executeQuery(SQL)

* insert, delete, update : exexcuteUpadate(SQL);

* stmt.executeQuery("create table tsb3(no int, name varchar2(12))");

* stmt.executeQuery("drop table tsb1");

*/

stmt.executeQuery("insert into tsb3 values(1, '민우')");

// 결과행 처리객체 //

ResultSet rs = null;

rs = stmt.executeQuery("select * from tsb1");


// 데이터 그릇 준비

//<> 은 제네릭으로서, 지정한 객체만 받겠다는 의미이다.

List<GogekVO> list = new ArrayList<GogekVO>();

//List list = new ArrayList();

while(rs.next()){

int rsNo = rs.getInt("NO"); // 필드명은 가급적 대문자로 쓴다.

String rsName = rs.getString("NAME");

/*

// 임시로 데이터를 출력

System.out.print(rsNo + "   ");

System.out.print(rsName);

System.out.println();

*/

// 모든행을 읽어와서 읽기

GogekVO vo = new GogekVO(rsNo, rsName);

list.add(vo);

}

// 출력

for (int i = 0; i < list.size(); i++) {

GogekVO vo = list.get(i);

System.out.print(vo.getNo()+"  ");

System.out.print(vo.getName());

System.out.println();

}

// STEP5. 닫기______________________//

//_____________________________________//

stmt.close();

conn.close();

}

}



GogekVO Class


// VO 객체 : 값을 저장관리하는 객체(Value Object)

// VO는 가급적 getter / setter를 만들도록한다.


public class GogekVO {

// DB 필드명과 동일하게 변수명을 부여하면 편리하다.

int no;

String name;

public GogekVO(int no, String name){

this.no = no;

this.name = name;

}

// GET / SETTER_____________________//

public int getNo() {

return no;

}

public void setNo(int no) {

this.no = no;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

}







'Programming > Oracle' 카테고리의 다른 글

[SQL] IN, AS 구문 정리  (0) 2013.08.30
[7일차] Join  (0) 2013.08.29
[4일차-2] select_연산자_함수  (0) 2013.08.27
[4일차-1] SubQuery(하위쿼리)  (0) 2013.08.27
[3일차] 제약조건  (0) 2013.08.27

+ Recent posts