오라클에 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 |