본문 바로가기
STUDY/ORACLE

Oracle 17일차(2) - 자바 & 오라클 연동

by Anne of Green Galbes 2019. 1. 30.

1. 새로운 사용자 생성

CREATE USER SUZI

IDENTIFIED BY A123

DEFAULT TABLESPACE USERS

TEMPORARY TABLESPACE TEMP

QUOTA UNLIMITED ON USERS;


GRANT CONNECT, RESOURCE TO SUZI;



2. SUZI에서 테이블 생성

CREATE TABLE SCORE

(HAK VARCHAR2(10) PRIMARY KEY,

NAME VARCHAR2(20) NOT NULL,

KOR NUMBER(3),

ENG NUMBER(3),

MAT NUMBER(3));



3. ojdbc6.jar파일 복사

ojdbc6.jar파일 위치 : C:\app\itwill\product\11.2.0\dbhome_1\jdbc\libDML


복사 위치 : C:\Program Files\Java\jdk1.8.0_191\jre\lib\ext

복사 위치 :C:\Program Files\Java\jre1.8.0_191\lib\ext


4

ojdbc6.jar > oracle > jdbc > driver > OracleDriver.class : 차례

oracle.jdbc.driver.OracleDriver.class : 패키지


5. 자바를 오라클에 연결하는 작업을 코딩으로 생성 → static으로 생성

com.db패키지에 DBConn클래스 생성

package com.db;


import java.sql.Connection;

import java.sql.DriverManager;


//자바에 오라클을 연결

public class DBConn {

private static Connection dbConn;         //Connection : 인터페이스

//dbConn을 담을 수 있는 Connection 생성

public static Connection getConnection(){ //get : 이미 올라가 있어 가져다 쓰기만 할 때는 보통 get을 사용

if(dbConn==null){

try {

String url = "jdbc:oracle:thin:@192.168.16.8:1521:TestDB";

//오라클 express버전 : @로컬호스트: xe

//jdbc로 oracle에 thin(type4)형식으로 @192.168.16.8에 접속을 하겠다

//그 중 오라클이 사용하는 포트는 1521번. 연결하는 DB는 TestDB

String user = "SUZI";

String password = "A123";

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

dbConn = DriverManager.getConnection(url, user, password);

//연결된거를 dbConn에 넣어놓음

} catch (Exception e) {

System.out.println(e.toString());

}

}

return dbConn;

}

//DB는 연결을 하면 항상 끊어주는 작업을 해야한다

public static void close(){

if(dbConn!=null){

try {

if(!dbConn.isClosed()){

dbConn.close();

}

} catch (Exception e) {

System.out.println(e.toString());

}

}


//연결을 끊어주면 그 안에 쓰레기 값이 남아 두번째 연결을 할때는 Adapter에러가 발생

//★항상 연결을 끊으면 dbConn을 null로 초기화 해야함

dbConn=null;

}

}


6. DB명령어 호출

com.day20패키지에 Test1클래스 생성

package com.day20;


import java.sql.Connection;

import com.db.DBConn;


public class Test1 {

public static void main(String[] args) {

//DB호출 명령어

Connection conn = DBConn.getConnection();

if(conn==null){

System.out.println("데이터베이스 연결 실패!");

System.exit(0);

}

System.out.println("데이터베이스 연결 성공!");

DBConn.close();

}

}

결과

데이터베이스 연결 성공!


7. 실행성공시 SCORE테이블 확인

SELECT * FROM SCORE;




댓글