Back/DataBase이론

5장 데이터베이스 프로그래밍 - 2

2023. 3. 27. 17:21
목차
  1. 실습환경
  2. 데이터베이스 연동 자바 프로그래밍
  3. 데이터베이스 연동 자바 프로그램의 실행 흐름도
  4. 자바에서 SQL 쿼리 보내보기
  5. 실행결과

실습환경

  • 데이터베이스 프로그램 : 오라클 11g
  • 자바 컴파일러 JDK 버전 7
  • 데이터베이스와 자바를 연결하는 드라이버 : JDBC 드라이버(ojdbc6.jar)

데이터베이스 연동 자바 프로그래밍

  • APP(자바) < -> RDBMS(oracle) 간의 연결이 필요함 : network 필요.
  • 오라클은 TCP / IP 이기 때문에 App단에서 동일하게 TCP/IP로 접근해야 한다.
  • jdbc = java database connection

데이터베이스 연동 자바 프로그램의 실행 흐름도

  • Oracle에서 제공하는 라이브러리를 사용하기 위해서 Oracle 데이터베이스를 설치할 때 받았던 oracleexe 폴더 안에 있는 JDBC 파일을 Eclipse 프로젝트로 복붙 해준다.
  • C:\oraclexe\app\oracle\product\11.2.0\server\jdbc\lib\ojdbc6.jar

  • libs에 넣어둔 ojdbc6.jar의 물리적 위치와 논리적 사용법을 연결시켜야 한다.

  1. project를 우클릭하여 Build path → Configure Build Path를 클릭한다.
  2. Java Build Path에서 Library를 클릭한다.
  3. Modulepath를 클릭한 후 Add Library를 클릭한다.
  4. Use Library를 생성한다.

5. User Libraries 클릭 후

6. New 버튼을 눌러

7. 원하는 이름으로 라이브러리를 생성한다.

8. 생성한 라이브러리를 클릭하여

9. Add JARs를 누른다.

10. 아까 추가한 ojdbc6.jar 파일을 불러준다.

11. 12. 클릭 끝

자바에서 SQL 쿼리 보내보기

  • scott 계정에 접속하여 SELECT * from emp; 를 실행해 본다.
//Main code
package mycom.mytest;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

public class main {

	public static void main(String[] args) {
		//내 db 접속에 사용할 conn 변수
		Connection conn = null;
		//오라클 드라이버 경로 설정
		String driver = "oracle.jdbc.driver.OracleDriver";
		//내 db의 계정 경로 설정
		String url = "jdbc:oracle:thin:@localhost:1521:xe";//localhost 자리에는 ip번호가 들어가도 됨
		//접송 성공, 실패 여부 사용시 쓰는 변수
		Boolean connect = false;
		
		//db 접속 코드는 반드시 try~catch문 안에 써줘야함
		try {
			//오라클 드라이버 접속, 직접 부르는 함수 Class.forNanme을 통해 메모리에 올려준다.
			Class.forName(driver);
			//내 db 접속
			conn = DriverManager.getConnection(url, "scott","TIGER");
			//접속성공시 true 설정
			connect = true;
			Statement stmt = conn.createStatement();
			String query = "select * from emp";
			ResultSet rs = stmt.executeQuery(query);
			while(rs.next()) {
				System.out.print(rs.getString(1)+ "\\t");
				System.out.println(rs.getString(2));
			}
			//접속 끊기, 끊는 이유 : 항상 db가 연결되어 있으면 접속 오류 및 데이터 충돌이 일어나기 떄문
			if(rs != null) rs.close();
			if(stmt != null) stmt.close();
			if(conn != null) conn.close();
		} catch (SQLException e) {
			System.out.println("실패");
			System.out.println(e);
		} catch (ClassNotFoundException e){
    		System.out.println("드라이버가 유효하지 않습니다.");
            }
	}
}

실행결과

  • EOR = end of record
  • cursor는 한 줄씩 읽어내고 돌아갈 수 없기 때문에 rs로 한 줄의 모든 내용을 긁어와야 한다.

'Back > DataBase이론' 카테고리의 다른 글

7장 정규화  (0) 2023.03.28
6장 데이터 모델링  (0) 2023.03.28
5장 데이터베이스 프로그래밍 - 1  (0) 2023.03.27
4장 SQL 고급  (0) 2023.03.27
3장 SQL 기초  (0) 2023.03.23
  1. 실습환경
  2. 데이터베이스 연동 자바 프로그래밍
  3. 데이터베이스 연동 자바 프로그램의 실행 흐름도
  4. 자바에서 SQL 쿼리 보내보기
  5. 실행결과
'Back/DataBase이론' 카테고리의 다른 글
  • 7장 정규화
  • 6장 데이터 모델링
  • 5장 데이터베이스 프로그래밍 - 1
  • 4장 SQL 고급
잘잔디
잘잔디
4학년이 되고 취업 준비를 위해 2023-01-01부터 공부한 내용을 정리한 블로그입니다.
잘잔디
MBCS 공부일지
잘잔디
전체
오늘
어제
  • 분류 전체보기 (217)
    • 파이썬 (28)
      • 파이썬 이론 (8)
      • NumPy (3)
      • Pandas (6)
      • 파이썬 시각화 (8)
      • 응용 (2)
    • Java (3)
    • Back (38)
      • DataBase이론 (12)
      • MySQL (2)
      • JSP (8)
      • JSTL (2)
      • Spring (0)
      • Django (8)
      • MongoDB (6)
      • FastAPI (0)
    • Front (8)
      • HTML (3)
      • CSS (2)
      • JS (1)
    • 회고록 (10)
    • 알고리즘 문제 풀이 (95)
      • 알고리즘 이론 공부 (14)
      • 프로그래머스 (69)
      • 백준 (12)
    • 머신러닝 (0)
    • 딥러닝 (0)
    • Git (3)
    • R 프로그래밍 (3)
    • 빅데이터 관리 (16)
      • 리눅스 (4)
      • Hadoop (12)
    • AWS (2)
    • 일상 (10)
      • 책 리뷰 (5)
      • TOEIC (2)
      • 자잘하게 공부한 것들 (2)
    • 사이버보안 (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • HTML
  • 독산역
  • db
  • backend
  • 골드
  • CSS
  • JavaScript
  • playdata
  • JS
  • 객체지향
  • Encore
  • OOP
  • 이중우선순위 큐
  • git
  • 즐거웠다
  • web
  • 백준
  • Database
  • Java

최근 댓글

최근 글

hELLO · Designed By 정상우.
잘잔디
5장 데이터베이스 프로그래밍 - 2
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.