본문 바로가기

DB

OracleDB 설치 및 JAVA 프로젝트에서 사용(JDBC)

1. 설치

https://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html

< File 1, 2 모두 다운 받는다.>
< File2의 해당 경로의 파일을 복사한다. >
<File 1의 해당 경로에 붙여 넣는다. >
< setup을 실행한다. >
< 예 >
< 아무 입력 없이 다음 >
< 데이터베이스 이름 및 비밀번호 입력 >

이때, 4/8단계 전까지 그냥 다음만 한다. 그리고 비밀번호 관한 Oracle 권장 표준은 영어+숫자 8자리 이상이지만 아니여도 무방하다.

< 설치 완료를 누른 후 비밀번호 관리 창 >

설치를 완료하고 혹시 모르니 초기에 접속할 이름과 계정이 잠겨있는지 비밀번호등을 확인하자.

비밀번호는 설정하지 않았다면 이전에 설정한 관리 비밀번호와 동일하다.

 

 

이후에 DB를 관리할 패널을 다운 받자.

https://www.oracle.com/technetwork/developer-tools/sql-developer/downloads/index.html 

압축을 받은 후 바로 실행하면 된다.

sqldelveloper 실행후 임포트에 아니오.

접속 후 데이터베이스 추가.

이 때 SID는 전역데이터베이스 이름과 동일(대소문자 구별은 안하는 듯)

< 생성된 DB >

2. JDBC 사용

jdbc(Java Database Connectivity)는 DB와 자바를 연결 해주고, 자바로 DB의 요청을 하고 DB의 응답을 자바로 받을 수 있게 하는 API라고 함. 

DB별로 다양한 JDBC가 있고 지금은 OracleJDBC를 사용할 것임.

설치한 DB의 경로에서 proudct -> 버전 -> dbhome_1 -> jdbc 순으로 가면 ojdbc6.jar 파일을 찾을 수 있음.

해당 파일을 복사해서 프로젝트의 의존성에 추가해주면 됨.

< 상단의 메뉴에서 window -> Preferences 에 위치 >

프로젝트의 라이브러리는 사용하는 jre의 lib에 존재한다. 

잘 모르겠다면 위의 Classpath Variables에서 JRE_LIB의 경로를 확인하면 된다.

해당 경로의 외부 라이브러리를 관리하는 ext폴도에 ojdbc6를 붙혀넣고 이클립스를 재 실행한다.

그리하면 java Resources에 ojdbc6.jar가 추가 된 것을 볼 수 있다.

 

3. 테이블 생성 및 샘플 데이터 삽입.

< 데이터 베이스에 들어가면 쿼리를 입력 할 수 있다. >

별거 없고 테이블 생성하고 데이터를 입력해주었다.

ctrl+enter를 하면 전부 실행된다.

또 쿼리를 요청하고 새로고침 하길 바란다.

입력을 마치고 commit 을 해주자.

 

4. java.sql 로 사용하기

<%@page import="java.sql.DriverManager" %>
<%@page import="java.sql.ResultSet" %>
<%@page import="java.sql.Statement" %>
<%@page import="java.sql.Connection" %>
<%@page import="java.util.*" %>
<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<%!
	Connection connection;
	Statement statement;
	ResultSet resultSet;
	
	String driver = "oracle.jdbc.driver.OracleDriver";
	String url = "jdbc:oracle:thin:@localhost:1521:admin";
	String uid = "admin";
	String upw = "1234";
	String query = "select * from test";
	
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>JSP Exercise</title>
</head>
<body>
<%
try{
	Class.forName(driver);
	connection = DriverManager.getConnection(url,uid,upw);
	statement = connection.createStatement();
	resultSet = statement.executeQuery(query);
	while(resultSet.next()) {
		String id = resultSet.getString("id");
		String pw = resultSet.getString("pw");
		String name = resultSet.getString("name");
		out.println("유저정보"+id+" "+pw+" "+name+"</br>");
	}
}catch(Exception e){
	out.println(e);
}finally{
	try{
		if(resultSet != null) resultSet.close();
		if(statement != null) statement.close();
		if(connection != null) connection.close();
	}catch(Exception e){
		out.println(e);
	}
}
%>
</body>
</html>

코드를 보며 살펴보자.

일단 네가지 객체를 임포트해야 한다.

DriverManager

어떤 DB 드라이버를 사용하는가의 설정이다.

Class.forName(드라이버)로 설정 하고 사용된다.

이후 DriverManager.getConnection()로 실제 데이터베이스에 접속하고 Connetion객체인 연결정보를 리턴한다.

Connection

연결후에 데이터를 주고 받으려면 순간적으로 데이터를 주고 받는 상태가 필요하다.

connection객체의 createStatement()는 이 역할을 한다. 

Statement

statement(상태)객체는 쿼리를 주고 받을 수 있는 상태가 된다.

실제로 executeQuery를 이용하여 쿼리를 실행한다.

ResultSet

쿼리 요청에 대한 DB의 응답 값을 resultSet이 이터레이터와 비슷한 류의 타입으로 받는다.

이를 getString()와 같은 메소드를 이용하여 다룬다.

 

다음 포스팅에 CRUD를 하면서 자세한 메소드에 관한 설명을 이어 하자.

'DB' 카테고리의 다른 글

MongoDB Atlas 로 몽고디비 사용하기  (0) 2019.08.28
[MariaDB] 설치 및 실행  (0) 2019.05.27