JDBC 프로그래밍
이수지
이동주
Page 2
데이터베이스
데이터 베이스란 ?
– 데이터 (Data) 들이 모여있는 본거지 (base) 를 말함
– 여러 프로그램이 필요로 하는 데이터를 한 곳에 모아놓고 통합 관리하는 곳이라는 뜻
고객관리프로그램
재고 정보
고객 정보
상품조회 프로그램
상품 정보
재고관리프로그램
쇼핑몰 데이터베이스
Page 3
데이터베이스의 종류
데이터 베이스의 종류
– 계층형 데이터베이스
– 관계형 데이터베이스
– 객체지향 데이터베이스
Page 4
DBMS
데이터를 저장 / 관리 기능은 운영체제가 제공하는 기능이 아님
별도의 소프트웨어 필요 데이터베이스 관리 시스템 (DBMS)
DBMS 종류에 따른 분류– 계층형 DBMS
– 관계형 DBMS
– 객체지향 DBMS
JDBC API 도 관계형 데이터베이스에 데이터를 읽고 쓰는데 사용되는 API
– 단독으로 사용하지 못하고 관계형 DBMS 를 통해서만 읽고 쓸 수 있음
Page 5
MySQL 설치
MySQL 다운– http://www.mysql.com
Page 6
MySQL 설치
MySQL 설치
Page 7
MySQL 설치
MySQL 환경 설정
Page 8
MySQL 실행
start mysqld-nt // MySQL 시작
mysqladmin –u root ping // MySQL 서버작동 체크
Mysqladmin –u root shutdown // MySQL 종료
Page 9
데이터 베이스 생성
mysqladmin –u root create malldb // malldb 데이터베이스생성
mysql -u root // root 사용자 ID 로 mysql 시작
use malldb // database 를 malldb 로 바꿈
Page 10
테이블 생성
테이블 이름 : 상품 정보 테이블 (goodsinfo)
컬럼 이름 영문명 타입 크기
상품코드 code char 5
상품명 name varchar 30
가격 price int 8
제조사 maker varchar 20
데이터를 저장하기 위해서 테이블설계를 해야 함
테이블설계- 테이블의 영문이름 , 컬럼이름 , 컬럼타입 , 컬럼크기를 정하는 것
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
테이블 생성
테이블 생성 화면
Page 13
MySQL 명령문
입력 명령문- Insert into Table Name ( Column Name ) values (‘char value’, int value);
Page 14
MySQL 명령문
출력 명령문- Select Column Name from Table Name;
- Select Column Name from Table Name where condition;
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
MySQL 명령문
MySQL 명령어 사용 – update, delete
Page 17
JDBC(Java DataBase Connectivity)
자바 프로그램에서는 mysql 프로그램을 사용할 수 없음
JDK Library 의 JDBC API 로 데이터 베이스를 이용해야 함
JDBC 드라이버
- DBMS 와 JDK Library 의 JDBC API 를 연결하는 Module
Page 18
JDBC 설치
JDBC 드라이버 다운 (Connector/J)
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 프로그램 작성
데이터베이스에 데이터를 읽기 / 쓰기 과정
I. JDBC 드라이버를 JVM 으로 로드
II. DataBase 에 연결
III. DataBase 에 데이터를 읽거나 쓰기
IV. 프로그램을 끝내기 전에 DataBase 와 연결종료
동시에 접속할 수 있는 연결의 수를 제한하기
때문에 중요함
JDBC 드라이버를 로드
DB 에 연결
DB 에 데이터를 읽거나 쓴다
DB 연결을 끊는다
반복 가능
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 프로그래밍
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 프로그래밍
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