개발입문/JAVA

[JAVA] JDBC 연동

haloaround 2017. 1. 21. 00:43

JDBC


이 글에서는 Eclipse 에서 java 로 DB 에 접속, SQL 문을 전송할 수 있도록 준비한다. 

Java DataBase Connectivity

Java 에서 제공해 주는 DB 관련 처리를 하는 데 필요한 API 들이다. 애플리케이션 (eg. Eclipse) 에서 DB에 연동, SQL 문장 전송 등의 작업을 할 수 있게 제공하는 여러 가지의 인터페이스들이 JDBC 에 존재한다.


DB 접속

1. DB 연결 

어플리케이션에서 DB에 Connection(연결)이 되어야 한다. 해당 DBMS 에서 제공하는 드라이버가 메모리에 올라와야한다. 각 벤더(Oracle, MySQL, MariaDB 등) 마다 자바에서 해당 DBMS에 연동할 수 있도록 드라이버를 제공해준다.

애플리케이션 ---> 드라이버 ---> DBMS


2. DB 연결에 필요한 정보

1) 사용자 생성 & 확인

어떤 사용자로 DB에 연결할 것인지 확인합니다. 아래 GRANT 문을 전송하면 다음과 같습니다.

- javaDB 유저가 localhost 환경에서
- 패스워드를 javaDB로 입력하고
- 모든 DB와 테이블에 모든 종류의 SQL문을 실행 가능

유저 및 접속권한에 대한 모든 정보는 mysql.user 에서 확인할 수 있습니다. 

GRANT ALL PRIVILEGES ON *.* TO 'javaDB'@'localhost' IDENTIFIED BY 'javaDB' WITH GRANT OPTION;


[LINK] 기타 조건으로 사용자 생성


2) 프로젝트에 .jar 파일 추가

.jar 파일은 Java ARchive 로 일종의 압축포맷입니다. 저희는 MySQL 을 위한 DB Driver 를 추가합니다. 만약 이 .jar 파일이 없으실 경우 MySQL 공식 홈페이지에서 다운로드 받으세요 (아래 링크)

Connector/J 다운로드

- Project [Properties] 
- Java Build Path - [Library] - [Add External Jars]
- mysql-connector-java-5.0.8.bin.jar 선택, 추가, [OK]



3) MySQL 에 접속 테스트

[Doc] java.sql.*

- import java.sql.Connection, java.sql.DriverManager
- jdbcURL, userID, userPW 를 통해
- Connection 생성: con = DriverManager.getConnection(jdbcURL, userID, userPW);
- "Connection Success" 출력하면 접속 확인


4) Data Source Explorer 뷰

- [Window] - [Show View] - [Other]
- Data Management - Data Source Explorer 선택


5) Connection Profile

- Database Connections - [New]
- [MySQL] 선택
- MysQL Drier Definition 지정: 드라이버 템플릿, Jar 파일, 속성 지정 완료
- Ping test 확인 

6) .sql 파일 생성

- 프로젝트 선택 [New] - [SQL File]
- FileName, Database server type, Connection Profile name 잘 설정
- test.sql 생성완료


7) .sql 문 실행 (전송)

- sql 문 작성
- Execute All / Selected Text  / Current Text
- 하단 SQL Results 뷰에서 결과 확인