JDBC는 Java DataBase Connectivity의 약자입니다.
즉, 자바와 데이터베이스를 연결 시켜주는 것을 의미합니다.
저는 현재 자바의 툴로 이클립스를 사용하고 있으므로 이클립스에 자바 path를 잡고 오라클 데이터베이스를 연동시켜야 합니다.
이에 관한 방법은 eclipse게시판에 포스팅 되어있으니 찹고 바랍니다.
참고로 JDBC는 어려워서 이해하시기 어려우실 겁니다...
그래서 저는 이해보단 우선 암기를 택했습니다!
JDBC의 순서
1. DRIVER 연결
2. 계정 연결
3. QUERY 준비
4. QUERY 실행 및 결과
5. DB 종료
//1. DRIVER 연결
Class.forName(“oracle.jdbc.driver.OracleDriver”);
//2. 계정 연결
Connection con = DriverManager.getConnection(url,id,pw);
//3. Query
준비 Statement
//or
PreparedStatement
//4. Query 결과 리턴
ResultSet rs = stmt.executeQuery(sql);
while(rs.next){
System.out.println(rs.getString(1),...);
}
//5. DB종료
ResultSet.close;
Statement.close;
Connection.close;
package com.test01;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class MTest01 {
public static void main(String[] args) throws ClassNotFoundException, SQLException {
// ojdbc6.jar(꼭 추가 해야함! ) -> oracle.jdbc.driver.OracleDriver
// 1. dirver연결
Class.forName("oracle.jdbc.driver.OracleDriver");
// 2. 계정 연결
String url = "jdbc:oracle:thin:@localhost:1521:xe";
String user = "cine";
String password = "cine";
Connection con = DriverManager.getConnection(url, user, password);
// 3. query 준비
String sql = " SELECT * FROM EMP ";
Statement stmt = con.createStatement();
// 4. query 실행 및 리턴
ResultSet rs = stmt.executeQuery(sql);
while (rs.next()) {
System.out.printf("%5d %11s %9s %5d %10s %8.2f %8.2f %2d \n",
rs.getInt(1), rs.getString(2), rs.getString("JOB"), rs.getInt(4),
rs.getDate(5), rs.getDouble("SAL"), rs.getDouble(7), rs.getInt(8));
}
// 5. db종료
rs.close();
stmt.close();
con.close();
}
}
JDBC에서 테이블을 SELECT하기 위한 코드는 위와 같습니다.
위의 코드를 실행 하기 전 우선 해당 프로젝트가 DATABASE와 연결이 되어 있어야 합니다.
ojdbc6.jar 추가하는법
ojdbc6.jar를 추가 할 프로젝트 우클릭 - Properties
저는 미리 추가를 해놔서 ojdbc6.jar가 있지만 추가를 안한 컴퓨터에서는 아마 없을것 입니다!
Java Build Path - Libraries - Modulepath 에서 Add External JARs...를 눌러주세요.
C:\oraclexe\app\oracle\product\11.2.0\server\jdbc\lib
위의 경로로 들어가서 ojdbc6.jar 파일을 추가해주세요!
그러면 이렇게 ojdbc6.jar파일이 추가됩니다!
// 1. dirver연결
Class.forName("oracle.jdbc.driver.OracleDriver");
우선 driver를 연결합니다.
// 2. 계정 연결
String url = "jdbc:oracle:thin:@localhost:1521:xe";
String user = "cine";
String password = "cine";
계정을 연결해야 하는데 우선 url을 볼수 있는 곳은 연결했던 database에서 볼수있습니다.
Data Sourece Explorer - Database Connections - MyOracle(저장한 이름에 따라 이름이 다름)
에서 MyOracle을 우클릭합니다.
우클릭 - Properties를 눌러주세요.
Driver Properties 에서 Connection URL이 우리가 알아야할 URL입니다.
또, 제가 포스팅 했던 DataBase 게시글을 보셨던 분들은 아시겠지만 저는 oracle 계정을 cine로 만들었습니다.
그래서 계정 연동에 유저 이름은 cine로 설정하였습니다.
// 3. query 준비
String sql = " SELECT * FROM EMP ";
Statement stmt = con.createStatement();
이번에는 EMP클래스의 모든것을 출력할 예정입니다.
*은 모든 데이터를 출력하겠다는 의미 이지만 *을 사용하는 것은 좋지 않은 습관입니다.
될수 있으면 컬럼이름을 직접 입력해주세요.
// 4. query 실행 및 리턴
ResultSet rs = stmt.executeQuery(sql);
while (rs.next()) {
System.out.printf("%5d %11s %9s %5d %10s %8.2f %8.2f %2d \n",
rs.getInt(1), rs.getString(2), rs.getString("JOB"), rs.getInt(4),
rs.getDate(5), rs.getDouble("SAL"), rs.getDouble(7), rs.getInt(8));
}
해당 테이블의 컬럼을 불러올때 타입을 맞추어주고 getInt( )안에 출력할 컬럼의 순서나 컬럼의 이름을 입력해주면 됩니다.
* 해당 컬럼의 위치나 컬럼명 모두 가능합니다!!! *
// 5. db종료
rs.close();
stmt.close();
con.close();
실행시킨 순서의 역순으로 종료 해줍니다.
'Java 관련 > JDBC' 카테고리의 다른 글
[JDBC] MVC 패턴(Model View Controller) (0) | 2022.03.06 |
---|---|
[JDBC] delete(데이터 삭제) (0) | 2022.03.05 |
[JDBC] update(데이터 수정) (0) | 2022.03.04 |
[JDBC] selectOne(선택 출력하기) (0) | 2022.03.02 |
[JDBC] Statement & PreparedStatement (0) | 2022.03.01 |