Notice
Recent Posts
Recent Comments
Link
- Outsider's Dev Story
- 흔한 개발자의 개발 노트
- 내 아이큐 80, 너도 80, 둘이 합쳐 160 - 내…
- 조대협의 블로그
- 자바캔(Java Can Do IT) / 최범균 님
- Sangon, Han – 개발자; 읽고 생각하고 쓰고 …
- The Evolution of the Web
- NAVER D2
- Dashboard - SLiPP
- ITWorld Korea - 테크놀로지 리더를 위한 글…
- OKKY - All That Developer
- 웹Frameworks
- 오픈튜토리얼스
- 위키독스 / 온라인 책 제작 공유 플랫폼 서비스
- 블로터
- IT OnAir
- 한 처음에 / 백창92
- Divide my knowledge / 완프최
- SERI.org
Bigfat
[Java] 데이터베이스 연동하기 본문
자바로 오라클 데이터베이스에 접속하여 조회(SELECT)해보자
Oracle Database Express Edition 11g 시작하기로 오라클과 SQL Developer 툴을 설치하면 된다. 만약 다른 데이터베이스를 사용한다면 Driver와 Connection URL을 데이터베이스별 JDBC 설정(Oracle, MySQL, MSSQL)를 참고하여 변경해주자. ojdbc6.jar는 Referenced Libraries로 추가해주거나, \jre\lib\ext 폴더 안에 넣어두면 된다.
/** * DBConnection.java * 데이터베이스 연동 Main 클래스 * @Date 2017. 2. 24. */ package com.edu.db; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; public class DBConnection { PreparedStatement pstmt; // An object that represents a precompiled SQL statement. public void test() { try { // 런타임시 클래스를 메모리에 올리는 방법 : reflection > OracleDriver.class loading > return Instance Class.forName("oracle.jdbc.driver.OracleDriver"); // 외부에 있는 jar파일의 클래스를 사용하기 위함. String url = "jdbc:oracle:thin:@localhost:1521:XE"; Connection conn = DriverManager.getConnection(url, "hr", "1234"); // Parameter: url, user, password pstmt = conn.prepareStatement("select * from employees"); // 쿼리문 심음 // select문: executeQuery() // insert, update, delete문: execueteUpdate() ResultSet resultSet = pstmt.executeQuery(); while(resultSet.next()) { String firstName = resultSet.getString("first_name"); // Parameter: String columnLabel // columnIndex는 1부터 시작함. String lastName = resultSet.getString(3); // Parameter: Int columnIndex System.out.print(firstName+" "+lastName); System.out.println(); } } catch(Exception e) { e.printStackTrace(); } } public static void main(String[] args) { DBConnection dbc = new DBConnection(); dbc.test(); } }
자바로 데이터베이스에 접근하는 코드는 많이 있기 때문에 올리지 않으려 했는데, java.lang.Class.forName(String className) 때문에 올렸다. 이에 관해서는 다음 번에 자바의 리플렉션(Reflection, 반영) 기법과 싱글톤 패턴(Singleton Pattern)에 대해 공부하고 글을 써야겠다.
참고로 오라클 Express Edition(XE)은 제어판의 '프로그램 제거'로 삭제 가능하다.
'Java' 카테고리의 다른 글
[Java 예제] 채팅(chatting) (2) | 2017.02.22 |
---|---|
[Java 예제] 로또(a lottery) (0) | 2017.02.13 |
[Java 예제] 홀수 마방진(a magic square of odd order) (3) | 2017.02.11 |
[Java 예제] 다이아몬드(a diamond) (0) | 2017.02.11 |