프로그래밍/JAVA

DB 서버 설치 ,DB 관리하는 프로그램 셋팅 하기 :오라클

Cognivox 2025. 4. 28. 14:16
반응형

 

🔵 1. OracleXE112_Win64.zip

  • Oracle Database Express Edition (XE) 11g 버전 설치 파일.
  • Oracle 데이터베이스 프로그램 자체를 설치.
  • 설치하면 내 컴퓨터에 오라클 데이터베이스 서버가 만들어져서,
    • 테이블 만들고
    • 데이터 저장하고
    • SQL 실행하고
    • 직접 데이터베이스를 사용.
  • (Win64) = 윈도우 64비트 전용.

쉽게 말하면:

"진짜 데이터베이스 서버를 내 PC에 설치하는 파일!"


🔵 2. sqldeveloper-19.2.1.247.2212-x64.zip

  • Oracle SQL Developer 프로그램 설치 파일.
  • 이건 데이터베이스를 관리하고 SQL을 작성할 수 있게 해주는 프로그램.
  • 위에서 봤던 SQL Developer 화면(테이블 조회, SQL 작성, 관리) 있지?
    ➔ 그걸 설치.
  • 역시 64비트 윈도우용 버전.

쉽게 말하면:

"설치된 데이터베이스를 편하게 조작하는 도구!"


🔵 한 줄로 요약하면

  • OracleXE112_Win64.zip → "DB 서버 설치 파일" (데이터 저장소)
  • sqldeveloper-19.2.1.247.2212-x64.zip → "DB 관리하는 프로그램" (조작 툴)

🔵 둘의 관계 정리

역할                                                     파일명                                                         설명 
데이터베이스를 설치하는 파일 OracleXE112_Win64.zip 내 PC에 데이터베이스를 깔아줌
데이터베이스를 관리하는 프로그램 sqldeveloper-19.2.1.247.2212-x64.zip SQL 작성, 테이블 조회 등을 쉽게 도와줌

🔵 Oracle SQL Developer란?
Oracle 데이터베이스를 관리하고 SQL 쿼리를 작성할 수 있도록 도와주는 무료 프로그램
→ 복잡한 명령어를 입력하지 않고도, 마우스 클릭으로 테이블 조회, 수정, 삭제 같은 작업을 쉽게 함


🔵 지금 화면에서 보이는 것

  • 왼쪽 : "접속" 패널 ➔ 데이터베이스에 연결된 테이블(EXAM, SCORE, STUDENT, SUBJECT)이 보임.
  • 중간 위쪽 : "워크시트" ➔ 여기에서 SQL 쿼리(SELECT, INSERT, UPDATE 등)를 직접 작성해서 실행할 수 있음.
  • 아래쪽 : "보고서" 탭 ➔ 분석용 보고서나 통계 같은 걸 볼 수 있는 기능. (지금은 별로 안 써도 됨)

🔵 이 프로그램으로 할 수 있는 기본 작업

  • 테이블 안에 데이터 조회하기 (SELECT)
  • 새로운 데이터 추가하기 (INSERT)
  • 데이터 수정하기 (UPDATE)
  • 데이터 삭제하기 (DELETE)
  • 테이블 구조 변경하기 (컬럼 추가, 삭제 등)
  • 데이터베이스 안의 오브젝트 관리 (테이블, 뷰, 인덱스, 패키지 등)

아주 간단히 말하면,
👉 "오라클 데이터베이스를 쉽게 관리하고 SQL을 실행할 수 있는 도구".

🔵 위 화면
👉 Oracle JDBC Driver (ojdbc6) 파일을 다운로드할 수 있는 페이지
(JDBC 드라이버는 Java 프로그램Oracle 데이터베이스랑 연결할 때 필요한 파일.)


🔵 여기서 핵심만 정리하면

  • ojdbc6.jar 파일 (2.6MB)
  • Oracle 데이터베이스에 접속하려면 Java 프로그램이 이 파일을 사용.

쉽게 말하면:

"Java가 Oracle DB랑 대화하려고 통역사를 불렀는데, 그 통역사가 바로 ojdbc6.jar."


🔵 어디에 쓰이나

  • Java 프로그램에서 Connection 객체로 DB에 연결할 때
  • Oracle SQL Developer 같은 프로그램을 커스터마이징할 때
  • 스프링(Spring), 마이바티스(MyBatis) 같은 프레임워크에서도 DB 연결할 때 사용

🔵 보통 이렇게 써

  1. ojdbc6.jar 파일을 다운로드한다.
  2. Java 프로젝트에 추가한다. (빌드 패스에 등록)
  3. Java 코드에서 Oracle DB 연결할 때 자동으로 이 파일이 사용된다.

🔵 이 화면은 뭐냐면
👉 이클립스(Eclipse)에서 프로젝트에 ojdbc6.jar 파일을 등록하는 과정


🔵 조금 더 쉽게 정리하면

부분설명
Java Build Path "이 프로젝트에 어떤 외부 파일(JAR)을 사용할지 설정하는 곳"
Libraries 탭 "외부 라이브러리 목록"을 관리하는 탭
Add External JARs... 버튼 "내 컴퓨터에 저장된 .jar 파일을 추가하는 버튼"

➔ 여기서 ojdbc6.jar 파일을 추가해서,
Java 코드가 오라클 데이터베이스를 사용할 수 있게 만들어 주는 것


🔵 지금까지 한 과정은?

  1. ojdbc6.jar 파일을 다운로드했다.
  2. 이클립스 프로젝트를 열었다.
  3. Java Build Path → Libraries 탭으로 이동했다.
  4. Add External JARs...를 눌러서 ojdbc6.jar를 추가했다.

이제 ➔ Java 코드에서 오라클 데이터베이스랑 연결할 준비가 끝! 🎯


🔵 한줄 요약

"ojdbc6.jar을 프로젝트에 연결해서, Oracle DB랑 통신할 수 있도록 세팅한 화면이다."

🔵 지금 보여주는 화면은
👉 아까 추가한 ojdbc6.jar 파일 안을 열어본것
그리고 OracleDriver.class 파일을 가리키고 있음


🔵 이게 무슨 뜻이냐면?

  • ojdbc6.jar 안에는
    Oracle 데이터베이스 연결에 필요한 여러 클래스 파일(.class) 이 들어있음.
  • 그중에서 OracleDriver.class 파일은
    Java 프로그램이 Oracle DB랑 통신할 수 있게 해주는 핵심 드라이버 클래스

🔵 아주 쉽게 말하면

부분설명
OracleDriver.class "Oracle 데이터베이스에 연결하는 운전사(Driver)"

🔵 정리

  • ojdbc6.jar = 오라클용 Java 드라이버 파일 모음
  • OracleDriver.class = 그중에서도 DB 연결을 담당하는 가장 중요한 파일
  • Java 프로그램이 Oracle DB에 연결할 때 꼭 필요한 역할을 함

🔵 요약 한 문장

"OracleDriver.class는 Java 프로그램이 Oracle DB와 연결할 때 사용하는 핵심 연결 클래스다."

 

🔵 이 코드는 뭘 위해 만든 거냐?

👉 **Oracle 데이터베이스에 연결(Connection)할 때 매번 새로 만들지 않고,
하나의 고정된 방법(싱글톤)으로 DB 연결을 관리하려고 만듬!

즉,
**"DB 연결을 쉽게 만들고, 한 번에 관리하는 싱글톤 클래스"**.


🔵 코드 흐름 요약

부분설명
private static OracleDataSource instance 이 클래스를 딱 하나만 만들고 공유하기 위해 미리 생성
private OracleDataSource() 생성자를 막아서 외부에서 new 못하게 함
public static OracleDataSource getInstance() 만든 하나를 가져오는 방법 (공식 출입구)
public final String DRIVERCLASSNAME, URL, USERNAME, PASSWORD DB 연결에 필요한 정보 (고정된 값)
public Connection getConnection() 실제로 DB에 연결(Connection 객체 만들기) 하는 메서드

🔵 쉽게 말하면

  1. OracleDataSource 클래스 하나 만든다.
  2. 프로그램 어디서든 getInstance() 호출해서 가져온다.
  3. 그리고 getConnection() 호출해서
    Oracle DB에 연결(Connection 객체 생성) 한다!

🔵 왜 이렇게 만들었냐?

  • 매번 복잡한 연결 코드 치기 귀찮으니까
  • 실수 없이 통일된 방식으로 연결하려고
  • 싱글톤으로 만들어서 관리 편하게 하려고

(특히 프로그램이 커지면, DB 연결을 이런 식으로 통일해서 관리하는 게 정말 중요!)


🔵 한 줄 요약

"Oracle DB 연결을 쉽고 일관되게 관리하려고 만든 싱글톤 데이터베이스 연결 도우미 클래스다."

 

🔵 이 코드는 지금 뭘 하고 있냐?

👉 DB 연결(Connection)을 얻고, 사용한 뒤에 꼭 닫아주기 위해 작성된 코드.
(DB 연결을 얻었으면 반드시 닫아야 해! 안 그러면 서버에 부하가 걸림.)


🔵 구체적으로 정리하면

코드                                                                                             부분설명
Connection conn = null; DB 연결 객체 준비
Statement stmt = null; SQL 실행 객체 준비
ResultSet rs = null; 쿼리 결과를 담을 객체 준비
try { conn = dataSource.getConnection(); } 연결 얻기 시도
finally {} 연결이 성공하든 실패하든 무조건 자원 정리
if (stmt != null) stmt.close(); Statement 닫기
if (conn != null) conn.close(); Connection 닫기

🔵 아주 쉽게 요약하면

"DB 연결을 열었으면 → 무조건 닫아야 한다. (close)"
"그래서 try-finally로 묶고, null 체크 후 안전하게 닫는 코드다."


🔵 왜 이렇게 해?

  • 오류가 나든, 정상적으로 끝나든 반드시 연결을 끊어야 해서.
  • 서버에 연결이 계속 열려 있으면 ➔ 메모리 과부하, 서버 다운 가능성 있음.
  • 그래서 finally 블록을 써서 무조건 닫게 만드는 거야.

🔵 전체 한 줄 요약

"DB 연결하고, 자원 낭비 막기 위해 꼭 안전하게 닫는 try-finally 구조를 짠 코드"

 

DB 연결할 이름으로 바꾼다.

🔵 전체적인 흐름

지금 네가 보여준 코드는
👉 StudentServiceImpl라는 서비스(Service) 레이어

"Service 레이어는 DAO를 이용해서 데이터를 처리하는 중간 관리자 역할"을 하는 곳

즉,

  • 직접 DB에 접근하는 건 DAO가 하고
  • Service는 DAO를 불러다가 요청만 위임하는 구조
반응형