emluy 개발 일기

JDBC, Oracle 연동하기 본문

Eclipse

JDBC, Oracle 연동하기

yulme 2021. 3. 26. 15:42
SMALL

1. Eclipse에 프로젝트 생성

2. 프로젝트에 lib폴더 생성 (src와 같은 경로)

3. ojdbc8.jar 파일 복사해서 2번에서 생성해준 lib폴더에 넣기

경로 

C:\app\C:\app\LG\product\18.0.0\dbhomeXE\jdbc\lib\ojdbc8.jar

4. 1번에서 생성한 프로젝트 오른쪽 마우스 클릭 -> Properties 클릭 -> Java Build Path 클릭 -> Add External JARs... 클릭 -> 3번에서 복사해온 ojdbc8.jar가 있는 경로에서 ojdbc8.jar 클릭 

경로  

C:\Users\LG\eclipse-workspace\1번에서만든프로젝트명\lib

5. 프로젝트/lib 경로에 oracle.properties 텍스트 파일 만들기

#프로젝트/lib/oracle.properties

6. DBConnection.java 파일 만들기

package com.kosa;

import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.io.Reader;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties;

public class DBConnection {

	private static Connection conn;

	private DBConnection() {
	}

	static {
		// 환경설정 파일을 읽어오기 위한 객체 생성
		Properties properties  = new Properties();
		Reader reader;
		try {
			reader = new FileReader("lib/oracle.properties");  // 읽어올 파일 지정
			properties.load(reader);                           // 설정 파일 로딩하기
		} catch (FileNotFoundException e1) {
			System.out.println("예외: 지정한 파일을 찾을수없습니다 :" + e1.getMessage());
			e1.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}

		String driverName = properties.getProperty("driver");
		String url = properties.getProperty("url");
		String user = properties.getProperty("user");
		String pwd = properties.getProperty("password");

		try {
			Class.forName(driverName);
			conn = DriverManager.getConnection(url, user, pwd);
			System.out.println("connection success");
		}

		catch (ClassNotFoundException e) {
			System.out.println("예외: 드라이버로드 실패 :" + e.getMessage());
			e.printStackTrace();
		} catch (SQLException e) {
			System.out.println("예외: connection fail :" + e.getMessage());
			e.printStackTrace();
		}
	}

	public static Connection getConnection() {
		return conn;
	}
}

7. 사용

: 쿼리문이 담겨있는 Class에서 사용. 다음과 같이 코드를 작성

package com.kosa;

//DBConnection에서 가져온 Connection 가리키기 위해 Connection import 필요
import java.sql.Connection;

import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ArrayList;

public class ProductDAO {
    //DBConnection Class의 getConnection method실행
	private Connection conn = DBConnection.getConnection();
    //쿼리문 실행할 Statement 객체 가리킴
	private Statement stmt;
    //쿼리문 결과 담는 ResultSet 객체 가리킴
	private ResultSet rs;
	
	public ArrayList<ProductVO> list(){
		ArrayList<ProductVO> list = new ArrayList<ProductVO>();
		try {
            //String으로 쿼리문 작성
			String query = "select * from product";
            //작성한 쿼리문을 담을 Statement 객체 생성
			stmt = conn.createStatement();
            //Statement 객체를 사용해서 쿼리문 실행 후 ResultSet에 결과 담음
			rs = stmt.executeQuery(query);
			
			while(rs.next()) {
                //결과 객체에 getString, getInt 등 함수를 통해 칼럼 값 가져옴 
				String name = rs.getString("prod_name");
				String color = rs.getString("prod_colort");
				int qty = rs.getInt("prod_qty");
				
				ProductVO data = new ProductVO();
				
				data.setProd_color(color);
				data.setProd_name(name);
				data.setProd_qty(qty);
				
				list.add(data);
			}
			
            //ResultSet , Statement , Connection 다 사용하고 나면 닫아줌
			rs.close();
			stmt.close();
			conn.close();
		}catch(Exception e){
			e.printStackTrace();
			
		}
		return list;
	}
}
반응형

'Eclipse' 카테고리의 다른 글

Eclipse - Maven project 와 Oracle 연동 & 게시판 만들기  (0) 2021.04.08
JDBC - CallableStatement  (0) 2021.03.29
Eclipse - Java FX 설치  (0) 2021.03.23
Comments