요즘 어플리케이션에서는 DB를 사용하지 않는 경우가 드물다. 로컬에서만 사용하는 경우 iOS의 SQLite 처럼 간단한 DB를 사용하기도 하지만 보통은 MySQL 등을 세팅해서 원격으로 접속해 사용하게 된다. 아직 자바에 대해 문법이고 뭐고 잘 모르지만 일단 뭔가 만들어보면서 수많은 오류를 맞닥뜨리며 배우는 것이 가장 빠르기 때문에 재미없는 Hello World류의 공부는 건너뛰고 DB부터 연결해보자. (사실 Hello World는 벌써 해봤다.)
작업환경
OS : MacOSX El Capitan
IDE : Eclipse Neon
DB : Debian Linux 위에서 돌아가는 MySQL 5.5.53
1. 다운로드
먼저 자바를 사용할 수 있도록 JRE와 JDK가 설치되어 있어야 한다. 여기 참고.
그 다음, JDBC 드라이버를 이용해서 MySQL서버에 연결할 수 있게 해주는 Connector를 받는다.
자바 뿐만 아니라 ODBC, Net, Node.js, Python, C++, C 용 커넥터 드라이버를 받을 수 있다.
https://dev.mysql.com/downloads/connector/j/
Platform Independent라고 하니 OS에 상관없이 그냥 다운로드하면 된다. zip이건 tat.gz 건 똑같다. 압축만 풀 수 있으면 된다.
압축을 풀면 jar파일과 기타 등등이 나오는데, jar파일만 사용할 예정이다. 더블클릭해서 설치하는 거 아님. 원하는 폴더에 적당히 넣어둔다.
2. 이클립스에서 불러오자
이클립스에서 프로젝트를 하나 생성하고 메인으로 사용할 (이름은맘대로).java를 하나 생성한다.
프로젝트 이름에서 마우스 오른쪽버튼을 누르고 아래 스크린샷을 참고해서 Build Path → Add External Archives... 메뉴로 들어간다.
그 다음, 아까 다운로드해 두었던 JDBC 드라이버 파일을 선택한다.
그러면 Referenced Library 에 해당 드라이버가 추가되었다. 이제 개발하면 된다.
3. 테스트를 해보자.
아래의 소스코드를 입력한다. MySQL서버의 주소와 아이디 패스워드는 각자에 맞게 수정한다. 나는 원격에서 운영하는 내 서버의 정보를 넣었다.
로컬에서 MySQL 서버를 돌리고 있다면 localhost, ID, PW 가 들어가면 된다.
쿼리로 SHOW DATABASES 를 날렸으므로 정상적으로 동작한다면 콘솔 화면에 내 서버에 존재하는 데이터베이스 이름이 출력될 것이다.
import java.sql.*;
public class testprj {
public static void main(String[] args) {
try{
Connection con = null;
con = DriverManager.getConnection("jdbc:mysql://(MySQL서버주소)","(ID)","(PW)");
// Statement는 정적 SQL문을 실행하고 결과를 반환받기 위한 객체다. Statement하나당 한개의 ResultSet 객체만을 열 수 있다.
java.sql.Statement st = null;
ResultSet result = null;
st = con.createStatement();
result = st.executeQuery("SHOW DATABASES"); // executeQuery : 쿼리를 실행하고 결과를 ResultSet 객체로 반환한다.
// 결과를 하나씩 출력한다.
while (result.next()){
String str = result.getNString(1);
System.out.println(str);
}
}catch(SQLException e){
System.out.println("SQLException: " + e.getMessage());
System.out.println("SQLState: " + e.getSQLState());
}
}
}
결과가 정상적으로 출력되었다.
'프로그래밍 스터디 > Java' 카테고리의 다른 글
자바 GUI에 데이터베이스 연동하기 (0) | 2017.02.15 |
---|---|
자바 GUI 화면 구성하기 (0) | 2017.02.15 |
자바 GUI 개발하기 (0) | 2017.02.15 |
자바 공부 시작 (0) | 2017.02.14 |