본문 바로가기

IT일반과목/JDBC

20180828 JDBC개요

@ JDBC 란?

 -> Java DataBase Connectivity의 약자

 -> 자바 언어에서 DataBase에 접근할 수 있게 해주는 Programming API

 -> Java에서 DBMS 연동에 필요한 메소드인 Connection 인터페이스를 제공함

 -> 각 DBMS 벤더(vendor) 별 구현하여 (jar파일) DBMS에 접속 가능하게 함

 -> Java.sql 패키지에서 관리함


@ 필요 라이브러리

 -> OJDBC

 ※ OJDBC 라이브러리는 오라클에서 제공하는 오라클 DB와 자바 애플리케이션을 연결하기 위한 라이브러리 파일


-> 라이브러리 다운로드 받는 홈페이지

http://www.oracle.com/technetwork/apps-tech/jdbc-112010-090769.html



-> 라이브러리를 오라클 폴더에서 가져오기

C:\oraclexe\app\oracle\product\11.2.0\server\jdbc\lib

---------------------------------------------------------------------------------------------------------


http://www.oracle.com/technetwork/apps-tech/jdbc-112010-090769.html

 -> 여기 들어가기


 버전별 파일이름

 - oracle 7 : classes111.zip / oracle 8 : classes12.zip

 - oracle 9i : ojdbc14.jar  /  oracle 10g : ojdbc14.jar

 - oracle 11g : ojdbc6.jar

---------------------------------------------------------------------------------------------------------

c드라이브 들어가서 oraclexe들어가기 -> C:\oraclexe\app\oracle

 -> C:\oraclexe\app\oracle\product\11.2.0\server

 -> C:\oraclexe\app\oracle\product\11.2.0\server\jdbc


회사에서는 다운로드받아야 한다.

C:\Program Files\Java\jre1.8.0_144\lib\ext

 -> 여기에 ojdbc6.jar 복사붙여넣기하기


---------------------------------------------------------------------------------------------------------


기본 문자셋 인코딩 설정

 -> 한글을 표현하는 문자 인코딩 방식은 다양하게 있음 (MS949, UTF-8, UTF-16 등등...)

 -> 한글을 표현하는 방식을 일치시켜 주지 않게 되면 데이터 처리시 마다 한글이 깨질 수 있으므로 문자 표현 방식을 


맞추어 주어야 함



※ JDBC 코딩시작하기전 해야 할것

1. 라이브러리 다운로드 및 JRE 폴더에 넣어 줄것

2. 문자셋 설정 해주기 (DB에 맞게 UTF-8로 셋팅)

3. 프로젝트 생성후 라이브러리 잡아주기


windows -> preferences -> 


General -> Editors -> Text Editors -> Spelling -> 가서 Encoding을 UTF-8로 바꾸기


쉽게 찾는 방법은?

검색창에다가 enc라고 적기

Workspace가서 바꾸기

CSS FILEs가서 바꾸기

HTML Files 바꾸기

JSP Files 바꾸기

총 5개 바꿨다.



그 후 JSON -> JSON FILES 가서도 UTF-8로바꾸기

6개 바꾸기


---------------------------------------------------------------------------------------------------------

NEW PROJECT 들어가기 -> java project 만들기

JDBC1으로 만들기


그후 Build Path->Configure Build Path 들어가기





라이브러리 때문에 왔다.
Libraries에서 OJDBC라고 잡혀있으면 괜찮은데 없을경우 잡아줘야한다.
ojdbc6.jar이 잡혀져 있을 것이다. 없을 경우
Add External JARs... -> 누른후 내컴퓨터 c드라이브, java,jre,lib,ext에 넣어놓았는데 이걸 선택해주면 된다.





이제 코딩할수 있게끔 환경설정을 해놓은것이다.



CREATE user member identified by member;

--ID : member / PW : member 계정 생성


grant connect, resource to member;

--접속권한, 리소스 사용권한


시스템 계정에 접속해서 계정 하나 만들기



※ JDBC를 이용한 회원 관리 프로그램

회원 전체 조회, 한명 조회, 추가, 수정, 삭제 기능을 가지고 있는 프로그램


테이블 생성 및 데이터 삽입 코드.txt이거 받기

이렇게 만들기!!




이클립스에서 오라클꺼를 갖고와서 읽고 쓰고 수정하고 삭제할수 있겠다.

CRUD를 해보겠다. -> 읽고 쓰고 삭제하고 등등 해보겠다.


Client -> View -> 를 들어가 Menu를 보여줄것이다. 그 후 이걸 Controller로 넘겨줄 것이다.

Controller은 어떠한 서비스를 사용할것인지 해볼것이다.


Model은 VO DAO SERVICE가 있다.


Value Object는 VO라고 한다. -> 역할은 학생관리프로그램 만들면 학생 저장할수있는 공간을 VO라고 한다.

VO라는 클래스는 name,age,addr이 있다.

그리고 기본적으로는 getter,setter이 있다.


www.kh.org라고 한다면 자바 패키지 만들땐 org.kr로 패키지를 만든다.

DAO -> Data Access Object의 약자이다.


기본적인 틀로 MVC로 만들어본다.







package org.kh.member.view;


import java.util.Scanner;


//회원 관리 메뉴를 보여주는 View Class

public class MemberMgr {

private Scanner sc = new Scanner(System.in);

// 메인 메뉴 메소드

public void mainMenu() {

int choice; 

do {

System.out.println("\n= = = = = = = = = = 회원 관리 프로그램 = = = = = = ");

System.out.println("1. 회원 정보 전체 조회");

System.out.println("2. 회원 아이디 조회(1명)");

System.out.println("3. 회원 이름으로 검색(다수)");

System.out.println("4. 회원 가입");

System.out.println("5. 회원 정보 변경");

System.out.println("6. 회원 탈퇴");

System.out.println("0. 프로그램 종료");

System.out.print("선택 : ");

choice = sc.nextInt(); //선택값 choice 변수에 저장


switch(choice) {

case 1:break;

case 2:break;

case 3:break;

case 4:break;

case 5:break;

case 6:break;

}

}while(choice!=0);//한번은 무조건 실행될 것이기 때문에 do while로 짰다.

System.out.println("저희 프로그램을 이용해주셔서 감사합니다. 호구님!");

}

}


package org.kh.member.run;


import org.kh.member.view.MemberMgr;


public class RunMain {

public static void main(String[] args) {

MemberMgr mgr = new MemberMgr();

mgr.mainMenu();

//new MemberMgr().mainMenu(); //객체 만들자 마자 실행

//한번만 만들어서 실행하는걸로 challenge방식으로 할 수도 있다.

}

}


package org.kh.member.controller;


public class MemberController{

//회원 전체 출력 메소드

public void selectMemberAll() {}

//회원 아이디 검색 메소드

public void selectMemberId() {}

//회원 이름 검색 메소드

public void selectMemberName() {}

//회원 가입 메소드

public void insertMember() {}

//회원 정보 수정 메소드

public void updateMember() {}

//회원 탈퇴 메소드

public void deleteMember() {}

}


package org.kh.member.controller;


public interface MemberControllerInterface {


//회원 전체 출력 메소드

public void selectMemberAll();

//회원 아이디 검색 메소드

public void selectMemberId();

//회원 이름 검색 메소드

public void selectMemberName();

//회원 가입 메소드

public void insertMember();

//회원 정보 수정 메소드

public void updateMember();

//회원 탈퇴 메소드

public void deleteMember();

}




'IT일반과목 > JDBC' 카테고리의 다른 글

20180831 JDBC 코딩(다른방식의 코딩-2)  (0) 2018.08.31
20180831 JDBC 코딩(다른방식의 코딩-1)  (0) 2018.08.31
20180831 JDBC 과제  (0) 2018.08.31
20180830 JDBC  (0) 2018.08.30
20180829 JDBC CODING 절차  (0) 2018.08.29