프로그래밍/자바(java) 융합개발자 2차

[자바 기초] 11일차 일지 2 - 데이터베이스 프로그래밍(이클립스 설치, JAVA)

aSpring 2020. 12. 29. 16:22
728x90
728x90

 

데이터베이스 프로그래밍

                   ㄴ> PL도 프로그래밍인데 오라클 안에서만 쓴다 -> 이걸 Java, Python이나 C 같은 곳에서 연동

 

1. DB 프로그래밍 - JAVA(일반 -> PC application)

   - 일반

   - 모바일(안드로이드, 아이폰)

 

사용자 -> 프로그램을 켜면 -> 실행됨

              SQL developer

 

우리는 간단한 프로그램을 코딩한다

 

DB에서 테이블을 만들어 놓았다면 프로그램에서 어떻게 사용되는가 맛만 보는 단계!

 

준비 -> 구축(편집기 설치)

   - JDK : 컴파일러 (우리는 이미 설치 함) -> sql developer를 사용하기 위해서

   - 이클립스(편집기 : 메모장 같은 것) : 버전은 상관없으나 안에 Edition이 있다. -> 설치형 X, 압축만 풀면 됨

        -> ME : Mobile Edition -> 쓰지 않음 : 안드로이드, 아이폰 씀

        -> SE : Standard Edition -> 가벼움, PC 전용

        -> EE : Enterprise Editon -> 무거움, PC와 Web다 됨 -> 우리가 다운받을 것!

 

설치형 : 레지스트리

압축형 : 압출만 풀면 되는 압축형의 경우 파일 손상 시 복구가 안 됨

 

2. DB 프로그래밍 - JSP(웹)

   - 클라 : DB보다 더 쉽다. HTML, CSS, JS

   - 서버 : JSP

 

PC platform, 모바일 platform,platform

 


이클립스 설치

https://www.eclipse.org/downloads/

 

Eclipse Downloads | The Eclipse Foundation

The Eclipse Foundation - home to a global community, the Eclipse IDE, Jakarta EE and over 375 open source projects, including runtimes, tools and frameworks.

www.eclipse.org

 

 

 

 

 

Integrate 통합

Development 개발

Environment 환경

-> 메모장 같은 편집기

 

 

 

 

 

 

다운로드 누르면 됨

다운받는 속도가 너무 느리면 아래에 'Select Another Mirror' 누르면

다른 서버 나옴

다운로드 받는 중

 

다 되면 압출 풀기!

C:\eclipse-jee-2020-12-R-win32-x86_64

 

Lanch 누르기

이렇게까지 뜨면 성공!

 

 


이클립스로

① 프로젝트 만들기(Java)

② 소스 파일(클래스) 만들기

③ 코딩

④ 실행

 

   DB-Project (프로젝트) 밑에 소스 파일(클래스)을 만든다.

     ㄴ> TestDB.Java (소스파일)

 

New에 Java Project가 없다면 Other 눌러서 찾기

 

 

Finish를 누르면

Project_DB

모듈 어쩌고가 나오는데(14버전 이상)

'Don't Create' -> Open Perspective(지금 요 창에다 열겠다)

 

Project_DB 생성됨

 

src에 소스 파일 만들 것
src에서 우클릭 -> New -> Class

 

name에 'Source_db' 입력

 

Finish 클릭

 

 


 

1. DB 프로그래밍 - JAVA(일반)

 

 

프로젝트 만들기

 

ojdbc6.jar 링크 : 우클릭 -> Build Path -> Add External Archives...

build : booklist.class로 만드는 것(.exe 같은 느낌)

Path : DB연결 드라이버(ojdbc)가 필요하다

-> DB를 연결해서 bulid 하겠다

만약 없으면

우측 마우스 -> Property -> Java Build Path -> Libraries -> 원하는걸 클릭하고 Add External JARS..

 

내 경로

C:\oraclexe\app\oracle\product\11.2.0\server\jdbc\lib\ojdbc6.jar

.jar -> 압축 파일

 

코딩하기

 

 

DB에서 꺼내기 위한 3 Step
1. 연결(Connection) : Java - DB와 연결
2. 질의(Query X -> Statement 문장) : Select * from book where ~ 날림
3. 결과 담기(result set) : DB에서 쿼리에 맞는 데이터를 가져와서 표현됨 (결과가 여러개라 set)
       + 
4. 화면 출력

import java.sql.Connection;    - java라는 폴더, sql이라는 폴더에 Connection이라는 파일안에 있는 걸 import(수입) 들고 오겠다.
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class booklist {
	Connection con;         /* 1번 DB와 연결(Connection이라는 클래스와 연결한다.)
							   클래스는 변수와 메소드(procedure, function)를 가지고 있다. */
	public booklist() {     /* exec pkg1.proc1()  -- pkg1 패키지(클래스), proc1 프로시저(메소드) */
		String ur1 = "jdbc:oracle:thin:@localhost:1521:XE";  /* 뒤에 세개는 호스트 이름:포트:SID */
		/* 11g express edition은 orcl 대신 XE를 입력한다. */
		String userid = "madang";
		String pwd = "madang";
		
		try { /* 드라이버를 찾는 과정 */
			Class.forName("oracle.jdbc.driver.OracleDriver");
			System.out.println("드라이버 로드 성공");
		} catch (ClassNotFoundException e) {                  /* ojdbc.jar를 찾지 못한다면 오류가 난다 */
			e.printStackTrace();
		}
		
		try { /* 데이터베이스를 연결하는 과정 */
			System.out.println("데이터베이스 연결 준비 ...");
			con = DriverManager.getConnection(ur1, userid, pwd); -- ojdbc6.jar에 연결(ur1, 아이디, 비밀번호 -> 각각 위에 있음)
			System.out.println("데이터베이스 연결 성공");
		} catch (SQLException e) {                           /* 질의문장이 잘못되면 오류가 난다 */
			e.printStackTrace();			
		}
	}
	
	private void sqlRun() {
		String query = "SELECT * FROM BOOK";                 /* SQL문 */
		try { /* 데이터베이스에 질의 결과를 가져오는 과정 */
			Statement stmt = con.createStatement();          /* 2번 : 질의 날림 */
			ResultSet rs = stmt.executeQuery(query);         /* 3번 : ResultSet에서 받는다 */
			System.out.println("BOOK NO \tBOOK NAME \t\tPUBLISHER \tPRICE");
			while (rs.next()) {                              /* rs가 결과창인데 next 한 줄씩 내려감(Oracle에서 Cursor처럼) */
				System.out.print("\t" + rs.getInt(1));       /* 1열 */
				System.out.print("\t" + rs.getString(2));    /* 2열 */
				System.out.print("\t\t" + rs.getString(3));  /* 3열 */
				System.out.println("\t" + rs.getInt(4));     /* 4열 */
			}                                                /* print 출력, println 출력하고 줄바꿈 */
			
			con.close();
		} catch(SQLException e) {
			e.printStackTrace();
		}
	}
	
	public static void main(String args[]) {
		booklist so = new booklist();
		so.sqlRun();
	}
}

 

 

 

실행 하기

실행 결과

 

 

Made by 부산IT 윤요섭 강사님

728x90
728x90