자바에서 DB를 이용한 프로그래밍은 JDBC라는 표준 인터페이스 덕분에, 벤더에 (거의) 상관없이 동일한 형태로 구현할 수 있다. 따라서 자바를 이용한 DB 프로그래밍은 JDBC를 어떻게 이용하느냐의 문제라고 할 수 있다.
JDBC를 이용한 프로그래밍은, 아래와 같은 순서로 작성된다.
1. 벤더(mysql, PostgreSQL, ms-sql, oracle 등) 사이트에서 제공하는 JDBC 드라이버를 먼저 구해야 한다.
mysql 같은 경우에는, 아래 링크와 같다.
http://www.mysql.com/downloads/connector/j/
2. 이클립스에서 해당 라이브러리를 빌드패스에 추가한다.
3. 여기서 프로그램을 작성하는데,
3-1. 드라이버를 로드한다.
(mysql의 경우)
3-2. DBMS에 연결해서 Connection 객체를 얻는다.
(mysql의 경우)
3-3. Connection 객체로 부터 Statement 객체를 만들고, Statement 객체에 쿼리를 수행한다.
(공통)
3-4. ResultSet 객체를 순환하면서 원하는 데이터를 구한다.
- 컬럼 순서(1-based) 또는 컬럼 이름으로 데이터를 가져올 수 있다.
(공통)
3-5. 해당 객체를 각각 close()해준다.
(공통)
4. 심화학습
- PreparedStatement
- Connection의 setAutoCommit() + PreparedStatement의 addBatch(), executeBatch()
JDBC를 이용한 프로그래밍은, 아래와 같은 순서로 작성된다.
1. 벤더(mysql, PostgreSQL, ms-sql, oracle 등) 사이트에서 제공하는 JDBC 드라이버를 먼저 구해야 한다.
mysql 같은 경우에는, 아래 링크와 같다.
http://www.mysql.com/downloads/connector/j/
2. 이클립스에서 해당 라이브러리를 빌드패스에 추가한다.
3. 여기서 프로그램을 작성하는데,
3-1. 드라이버를 로드한다.
(mysql의 경우)
Class.forName("com.mysql.jdbc.Driver");
3-2. DBMS에 연결해서 Connection 객체를 얻는다.
(mysql의 경우)
Connection conn = DriverManager.getConnection(url, id, password);
3-3. Connection 객체로 부터 Statement 객체를 만들고, Statement 객체에 쿼리를 수행한다.
(공통)
Statement stmt = conn.createStatement();
ResultSet rset = stmt.executeQuery(query);
3-4. ResultSet 객체를 순환하면서 원하는 데이터를 구한다.
- 컬럼 순서(1-based) 또는 컬럼 이름으로 데이터를 가져올 수 있다.
(공통)
while (rset.next()) {
System.out.println(rset.getString(1));
System.out.println(rset.getString(columnName));
System.out.println(rset.getString(columnName));
}
3-5. 해당 객체를 각각 close()해준다.
(공통)
rset.close(); stmt.close(); conn.close();
4. 심화학습
- PreparedStatement
- Connection의 setAutoCommit() + PreparedStatement의 addBatch(), executeBatch()
'Code > Java' 카테고리의 다른 글
코딩 인터뷰 완전 분석 210쪽 17.3 변형 문제 풀이 (0) | 2012.09.05 |
---|---|
subclipse on OSX (0) | 2011.12.19 |
[이클립스] 라이브러리 이용하기 (0) | 2011.12.01 |
JDBC ResultSet 데이터 없을 경우 체크하기 (0) | 2011.07.22 |
우분투에서 자바 설정 (OpenJDK 대신 Sun JDK 쓰기) (0) | 2011.05.09 |