23
JDBC 프프프프프 프프프 프프프

JDBC 프로그래밍

Embed Size (px)

DESCRIPTION

JDBC 프로그래밍. 이수지 이동주. 데이터 베이스란 ? 데이터 (Data) 들이 모여있는 본거지 (base) 를 말함 여러 프로그램이 필요로 하는 데이터를 한 곳에 모아놓고 통합 관리하는 곳이라는 뜻. 재고 정보. 상품 정보. 상품조회 프로그램. 재고관리 프로그램. 고객 정보. 고객관리 프로그램. 데이터베이스. 쇼핑몰 데이터베이스. 데이터 베이스의 종류 계층형 데이터베이스 관계형 데이터베이스 객체지향 데이터베이스. 데이터베이스의 종류. - PowerPoint PPT Presentation

Citation preview

Page 1: JDBC  프로그래밍

JDBC 프로그래밍

이수지

이동주

Page 2: JDBC  프로그래밍

Page 2

데이터베이스

데이터 베이스란 ?

– 데이터 (Data) 들이 모여있는 본거지 (base) 를 말함

– 여러 프로그램이 필요로 하는 데이터를 한 곳에 모아놓고 통합 관리하는 곳이라는 뜻

고객관리프로그램

재고 정보

고객 정보

상품조회 프로그램

상품 정보

재고관리프로그램

쇼핑몰 데이터베이스

Page 3: JDBC  프로그래밍

Page 3

데이터베이스의 종류

데이터 베이스의 종류

– 계층형 데이터베이스

– 관계형 데이터베이스

– 객체지향 데이터베이스

Page 4: JDBC  프로그래밍

Page 4

DBMS

데이터를 저장 / 관리 기능은 운영체제가 제공하는 기능이 아님

별도의 소프트웨어 필요 데이터베이스 관리 시스템 (DBMS)

DBMS 종류에 따른 분류– 계층형 DBMS

– 관계형 DBMS

– 객체지향 DBMS

JDBC API 도 관계형 데이터베이스에 데이터를 읽고 쓰는데 사용되는 API

– 단독으로 사용하지 못하고 관계형 DBMS 를 통해서만 읽고 쓸 수 있음

Page 5: JDBC  프로그래밍

Page 5

MySQL 설치

MySQL 다운– http://www.mysql.com

Page 6: JDBC  프로그래밍

Page 6

MySQL 설치

MySQL 설치

Page 7: JDBC  프로그래밍

Page 7

MySQL 설치

MySQL 환경 설정

Page 8: JDBC  프로그래밍

Page 8

MySQL 실행

start mysqld-nt // MySQL 시작

mysqladmin –u root ping // MySQL 서버작동 체크

Mysqladmin –u root shutdown // MySQL 종료

Page 9: JDBC  프로그래밍

Page 9

데이터 베이스 생성

mysqladmin –u root create malldb // malldb 데이터베이스생성

mysql -u root // root 사용자 ID 로 mysql 시작

use malldb // database 를 malldb 로 바꿈

Page 10: JDBC  프로그래밍

Page 10

테이블 생성

테이블 이름 : 상품 정보 테이블 (goodsinfo)

컬럼 이름 영문명 타입 크기

상품코드 code char 5

상품명 name varchar 30

가격 price int 8

제조사 maker varchar 20

데이터를 저장하기 위해서 테이블설계를 해야 함

테이블설계- 테이블의 영문이름 , 컬럼이름 , 컬럼타입 , 컬럼크기를 정하는 것

Page 11: JDBC  프로그래밍

Page 11

테이블 생성

mysql 문법으로 표시

create table goodsinfo( // goodsinfo 테이블 생성

code char(5) not null, // char 형 code 컬럼 선언

name varchar(30) not null, // varchar 형 name 컬럼 선언

price int(8) not null, // int 형 price 컬럼 선언

maker varchar(20), // varchar 형 maker 컬럼 선언

primary key(code) // code 컬럼을 기본 키로 설정

); // 명령문 끝은 ;( 세미콜론 )

반드시 입력이 되어야 하는 컬럼에는 not null 을 선언 해주어야 함

Page 12: JDBC  프로그래밍

Page 12

테이블 생성

테이블 생성 화면

Page 13: JDBC  프로그래밍

Page 13

MySQL 명령문

입력 명령문- Insert into Table Name ( Column Name ) values (‘char value’, int value);

Page 14: JDBC  프로그래밍

Page 14

MySQL 명령문

출력 명령문- Select Column Name from Table Name;

- Select Column Name from Table Name where condition;

Page 15: JDBC  프로그래밍

Page 15

MySQL 명령문

갱신 명령문

- Update Table Name set Column Name = new value where condition;

삭제 명령문

- Delete from Table Name where condition;

테이블 삭제 명령문

- Drop table Table Name;

Page 16: JDBC  프로그래밍

Page 16

MySQL 명령문

MySQL 명령어 사용 – update, delete

Page 17: JDBC  프로그래밍

Page 17

JDBC(Java DataBase Connectivity)

자바 프로그램에서는 mysql 프로그램을 사용할 수 없음

JDK Library 의 JDBC API 로 데이터 베이스를 이용해야 함

JDBC 드라이버

- DBMS 와 JDK Library 의 JDBC API 를 연결하는 Module

Page 18: JDBC  프로그래밍

Page 18

JDBC 설치

JDBC 드라이버 다운 (Connector/J)

Page 19: JDBC  프로그래밍

Page 19

JDBC 설치

설치 과정- 다운받은 Zip 파일의 압축을 해제

- mysql-connector-java-5.1.7 폴더생성

- mysql-connector-java-5.1.7-bin.jar 파일복사

- JDK 가 설치된 Directory 아래의 jre/bin/ext Directory 에 복사

JRE 도 설치 되어 있다면 JRE 가 설치된 Directory 아래의 jre/bin/ext

Directory 에 파일을 복사하면 됨

Page 20: JDBC  프로그래밍

Page 20

JDBC 프로그램 작성

데이터베이스에 데이터를 읽기 / 쓰기 과정

I. JDBC 드라이버를 JVM 으로 로드

II. DataBase 에 연결

III. DataBase 에 데이터를 읽거나 쓰기

IV. 프로그램을 끝내기 전에 DataBase 와 연결종료

동시에 접속할 수 있는 연결의 수를 제한하기

때문에 중요함

JDBC 드라이버를 로드

DB 에 연결

DB 에 데이터를 읽거나 쓴다

DB 연결을 끊는다

반복 가능

Page 21: JDBC  프로그래밍

Page 21

JDBC 프로그래밍

JDBC 드라이버 로드- Class.forName("com.mysql.jdbc.Driver");

DataBase 연결- Connection conn = null; //Connection 타입의 conn 객체생성

- DriverManager.getConnection //database 연결 함수

("jdbc:mysql://210.115.58.96:3307/malldb","ju","root");

DataBase 연결 해제- conn.close();

프로그램- JDBCExample.java

Page 22: JDBC  프로그래밍

Page 22

JDBC 프로그래밍

DataBase 의 데이터 읽기- Statement stmt = conn.creatStatement(); // Statement 객체생성

- ResultSet rs = stmt.executeQuery(“select code, num from goodsinfo;”);

// executeQuery : select 문을 실행하는 함수

- rs.close(); // ResultSet 객체의 자원해제

- stmt.close(); // Statement 객체의 자원해제

MySQL server 는 ISO-8859-1 문자 셋을 사용하기 때문에 Unicode 문자 셋을 사용하는 Java 에서 출력하기 위해서는 변환이 필요

프로그램

- JDBCExample2.java

- JDBCExample3.java

Page 23: JDBC  프로그래밍

Page 23

JDBC 프로그래밍

DataBase 의 데이터 입력- Statement stmt = conn.createStatement(); //Statement 객체생성

- Int rowNum = stmt.executeUpdate(“insert goodsinfo(code,name,price,maker) “

+ “values(‘10006’,’ 미니오븐’ ,170000,’ 컨벡스’ );”);

// executeUpdate : insert, update, delete 문을 실행하는 함수

프로그램

- JDBCExample4.java