| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| 9 | 10 | 11 | 12 | 13 | 14 | 15 |
| 16 | 17 | 18 | 19 | 20 | 21 | 22 |
| 23 | 24 | 25 | 26 | 27 | 28 | 29 |
| 30 |
Tags
- 오라클 디비
- 도커
- 비지니스영어
- Oracle DB
- docker
- 딥러닝
- ABAP
- sap mm
- nodejs
- 파이썬
- SAP ABAP
- 머신러닝
- Spring Framework
- node.js
- 오라클
- 노드
- 자바스크립트
- IT
- 영어
- Programming
- oracle
- db
- Python
- Mac
- 유럽여행
- Java
- JavaScript
- 자바
- SAP ERP
- SAP
Archives
- Today
- Total
JIHYUN JEONG
[JAVA] 이클립스(Eclipse) + 오라클 11g(Oracle db) JDBC 연동하기 07 본문
Information Technology/Java
[JAVA] 이클립스(Eclipse) + 오라클 11g(Oracle db) JDBC 연동하기 07
StopHyun 2013. 2. 27. 08:41이클립스(Eclipse) 에서 오라클 디비(Oracle 11g)로 JBDC를 이용하여 연동해보겠습니다.
아래에 있는 여러소스 중에 첫번째인 JdbcOracle.java로 실습을 해보겠습니다.
소스코드예시
package asianaidt.jdbc;
import java.sql.*;
public class JdbcOracle {
public static void main(String args[]) {
// connect --> jdbc url
// jdbc : protocol 이름, oacle: db 이름, thin : 100% 자바로 작성된 드라이버
// @db server의 ip, 1521:oracle port 번호 => 예) ip : 건물, port번호 : 방번호
// xe : SID(System IDentifier)
String connect = "jdbc:oracle:thin:@127.0.0.1:1521:xe"; // loop back address : 로컬PC(여기서는 127.0.0.1)
// String connect = "jdbc:oracle:thin:@localhost:1521:dada"; // localhost로 써도 무방하다
String user = "scott";
String passwd = "tiger";
Connection conn;
Statement stat;
try {
// 1.driver 등록
Class.forName("oracle.jdbc.driver.OracleDriver"); // 객체 생성하는 또 다른 방법 (Car c = new Car() 와 똑같은 원리)
// 2.connection 얻기 (네트워크 연결)
conn = DriverManager.getConnection(connect, user, passwd);
// 3. statement 얻기
stat = conn.createStatement();
String query = "select * from customer";
System.out.println(query);
// 4.query 실행 후 결과 집합 얻기
ResultSet rs = stat.executeQuery("select * from customer");
// 5.결과집합 처리
while(rs.next()){
String num = rs.getString(1); // 1, 2,3 은 인덱스
// String num = rs.getString("num"); // 컬럼(num) 으로 줘도 무방하다
String name = rs.getString(2);
String address = rs.getString(3);
System.out.println(num+"--" + name+"--" + address);
}
// 6.마무리 작업
rs.close();
stat.close();
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
package asianaidt.jdbc;
import java.sql.*;
public class JdbcSelect {
public static void main(String args[]) {
// connect --> jdbc url
// jdbc : protocol 이름, oacle: db 이름, thin : 100% 자바로 작성된 드라이버
// @db server의 ip, 1521:oracle port 번호 => 예) ip : 건물, port번호 : 방번호
// xe : SID(System IDentifier)
String connect = "jdbc:oracle:thin:@127.0.0.1:1521:xe"; // loop back address : 로컬PC(여기서는 127.0.0.1)
// String connect = "jdbc:oracle:thin:@localhost:1521:dada"; // localhost로 써도 무방하다
String user = "scott";
String passwd = "tiger";
Connection conn;
Statement stat;
try {
// 1.driver 등록
Class.forName("oracle.jdbc.driver.OracleDriver"); // 객체 생성하는 또 다른 방법 (Car c = new Car() 와 똑같은 원리)
// 2.connection 얻기 (네트워크 연결)
conn = DriverManager.getConnection(connect, user, passwd);
// 3. statement 얻기
stat = conn.createStatement();
// 4.query 실행 후 결과 집합 얻기
ResultSet rs = stat.executeQuery("select * from customer where address='seoul' ");
// 5.결과집합 처리
while(rs.next()){
String num = rs.getString(1); // 1, 2,3 은 인덱스
// String num = rs.getString("num"); // 컬럼(num) 으로 줘도 무방하다
String name = rs.getString(2);
String address = rs.getString(3);
System.out.println(num+"--" + name+"--" + address);
}
// 6.마무리 작업
rs.close();
stat.close();
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
package asianaidt.jdbc;
import java.sql.*;
public class JdbcUpdate {
public static void main(String args[]) {
// connect --> jdbc url
// jdbc : protocol 이름, oacle: db 이름, thin : 100% 자바로 작성된 드라이버
// @db server의 ip, 1521:oracle port 번호 => 예) ip : 건물, port번호 : 방번호
// xe : SID(System IDentifier)
String connect = "jdbc:oracle:thin:@127.0.0.1:1521:xe"; // loop back address : 로컬PC(여기서는 127.0.0.1)
// String connect = "jdbc:oracle:thin:@localhost:1521:dada"; // localhost로 써도 무방하다
String user = "scott";
String passwd = "tiger";
Connection conn;
Statement stat;
try {
// 1.driver 등록
Class.forName("oracle.jdbc.driver.OracleDriver"); // 객체 생성하는 또 다른 방법 (Car c = new Car() 와 똑같은 원리)
// 2.connection 얻기 (네트워크 연결)
conn = DriverManager.getConnection(connect, user, passwd);
// 3. statement 얻기
stat = conn.createStatement();
// 4.query 실행 후 결과 집합 얻기
int result = stat.executeUpdate("update customer set address = 'kyoto' where address='moscow' ");
// 5.결과집합 처리
System.out.println(result + "개의 행이 수정 되었습니다");
// 4.query 실행 후 결과 집합 얻기
ResultSet rs = stat.executeQuery("select * from customer");
// 5.결과집합 처리
while(rs.next()){
String num = rs.getString(1); // 1, 2,3 은 인덱스
// String num = rs.getString("num"); // 컬럼(num) 으로 줘도 무방하다
String name = rs.getString(2);
String address = rs.getString(3);
System.out.println(num+"--" + name+"--" + address);
}
// 6.마무리 작업
rs.close();
stat.close();
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
package asianaidt.jdbc;
import java.sql.*;
public class JdbcDelete {
public static void main(String args[]) {
// connect --> jdbc url
// jdbc : protocol 이름, oacle: db 이름, thin : 100% 자바로 작성된 드라이버
// @db server의 ip, 1521:oracle port 번호 => 예) ip : 건물, port번호 : 방번호
// xe : SID(System IDentifier)
String connect = "jdbc:oracle:thin:@127.0.0.1:1521:xe"; // loop back address : 로컬PC(여기서는 127.0.0.1)
// String connect = "jdbc:oracle:thin:@localhost:1521:dada"; // localhost로 써도 무방하다
String user = "scott";
String passwd = "tiger";
Connection conn;
Statement stat;
try {
// 1.driver 등록
Class.forName("oracle.jdbc.driver.OracleDriver"); // 객체 생성하는 또 다른 방법 (Car c = new Car() 와 똑같은 원리)
// 2.connection 얻기 (네트워크 연결)
conn = DriverManager.getConnection(connect, user, passwd);
// 3. statement 얻기
stat = conn.createStatement();
// 4.query 실행 후 결과 집합 얻기
int result = stat.executeUpdate("update customer set address = 'kyoto' where address='moscow' ");
// 5.결과집합 처리
System.out.println(result + "개의 행이 수정 되었습니다");
// 4.query 실행 후 결과 집합 얻기
ResultSet rs = stat.executeQuery("select * from customer");
// 5.결과집합 처리
while(rs.next()){
String num = rs.getString(1); // 1, 2,3 은 인덱스
// String num = rs.getString("num"); // 컬럼(num) 으로 줘도 무방하다
String name = rs.getString(2);
String address = rs.getString(3);
System.out.println(num+"--" + name+"--" + address);
}
// 6.마무리 작업
rs.close();
stat.close();
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
package asianaidt.jdbc;
import java.sql.*;
public class JdbcInsert {
public static void main(String args[]) {
// connect --> jdbc url
// jdbc : protocol 이름, oacle: db 이름, thin : 100% 자바로 작성된 드라이버
// @db server의 ip, 1521:oracle port 번호 => 예) ip : 건물, port번호 : 방번호
// xe : SID(System IDentifier)
String connect = "jdbc:oracle:thin:@127.0.0.1:1521:xe"; // loop back
// address :
// 로컬PC(여기서는
// 127.0.0.1)
// String connect = "jdbc:oracle:thin:@localhost:1521:dada"; //
// localhost로 써도 무방하다
String user = "scott";
String passwd = "tiger";
Connection conn;
Statement stat;
try {
// 1.driver 등록
Class.forName("oracle.jdbc.driver.OracleDriver"); // 객체 생성하는 또 다른 방법
// (Car c = new
// Car() 와 똑같은
// 원리)
// 2.connection 얻기 (네트워크 연결)
conn = DriverManager.getConnection(connect, user, passwd);
// 3. statement 얻기
stat = conn.createStatement();
// 4.query 실행 후 결과 집합 얻기
// String query = "INSERT INTO customer values(" + args[0] + "," +
// args[1] + "," + args[2] + ")";
String query = "insert into customer values(" + args[0] + ","
+ args[1] + "," + args[2] + ")";
// int result=
// stat.executeUpdate("INSERT INTO customer (num,name,address) values(args[0] ,args[1], args[2]");
System.out.println(query);
int strresult = stat.executeUpdate(query);
// 4.query 실행 후 결과 집합 얻기
ResultSet rs = stat.executeQuery("select * from customer");
// 5.결과집합 처리
while (rs.next()) {
String num = rs.getString(1); // 1, 2,3 은 인덱스
// String num = rs.getString("num"); // 컬럼(num) 으로 줘도 무방하다
String name = rs.getString(2);
String address = rs.getString(3);
System.out.println(num + "--" + name + "--" + address);
}
// 6.마무리 작업
rs.close();
stat.close();
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
package asianaidt.jdbc;
import java.sql.*;
public class JdbcPreinsert {
public static void main(String args[]) {
// connect --> jdbc url
// jdbc : protocol 이름, oacle: db 이름, thin : 100% 자바로 작성된 드라이버
// @db server의 ip, 1521:oracle port 번호 => 예) ip : 건물, port번호 : 방번호
// xe : SID(System IDentifier)
String connect = "jdbc:oracle:thin:@127.0.0.1:1521:xe"; // loop back
// address :
// 로컬PC(여기서는
// 127.0.0.1)
// String connect = "jdbc:oracle:thin:@localhost:1521:dada"; //
// localhost로 써도 무방하다
String user = "scott";
String passwd = "tiger";
Connection conn;
// Statement stat;
PreparedStatement pstat;
try {
// 1.driver 등록
Class.forName("oracle.jdbc.driver.OracleDriver"); // 객체 생성하는 또 다른 방법
// (Car c = new
// Car() 와 똑같은
// 원리)
// 2.connection 얻기 (네트워크 연결)
conn = DriverManager.getConnection(connect, user, passwd);
pstat = conn.prepareStatement("insert into customer values(?,?,?)"); // DB로 쿼리문을 보냄, ?는 정해지지 않은값
// 한번 사용한 쿼리문을 재사용하기 떄문에 속도가 빠르다.
pstat.setString(1, args[0]);
pstat.setString(2, args[1]);
pstat.setString(3, args[2]);
// 3. statement 얻기
// stat = conn.createStatement();
int cnt = pstat.executeUpdate();
System.out.println(cnt + "row inserted....");
pstat.close();
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
package asianaidt.jdbc;
import java.sql.*;
public class JdbcPreUpdate {
public static void main(String args[]) {
// connect --> jdbc url
// jdbc : protocol 이름, oacle: db 이름, thin : 100% 자바로 작성된 드라이버
// @db server의 ip, 1521:oracle port 번호 => 예) ip : 건물, port번호 : 방번호
// xe : SID(System IDentifier)
String connect = "jdbc:oracle:thin:@127.0.0.1:1521:xe"; // loop back
// address :
// 로컬PC(여기서는
// 127.0.0.1)
// String connect = "jdbc:oracle:thin:@localhost:1521:dada"; //
// localhost로 써도 무방하다
String user = "scott";
String passwd = "tiger";
Connection conn;
// Statement stat;
PreparedStatement pstat;
try {
// 1.driver 등록
Class.forName("oracle.jdbc.driver.OracleDriver"); // 객체 생성하는 또 다른 방법
// (Car c = new
// Car() 와 똑같은
// 원리)
// 2.connection 얻기 (네트워크 연결)
conn = DriverManager.getConnection(connect, user, passwd);
pstat = conn.prepareStatement("delete from customer where num=?"); // DB로
// 쿼리문을
// 보냄,
// ?는
// 정해지지
// 않은값
// 한번 사용한 쿼리문을 재사용하기 떄문에 속도가 빠르다.
pstat.setString(1, args[0]);
// 3. statement 얻기
// stat = conn.createStatement();
int cnt = pstat.executeUpdate();
System.out.println(cnt + "row deleted....");
pstat.close();
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
package asianaidt.jdbc;
import java.sql.*;
public class JdbcPreDelete {
public static void main(String args[]) {
// connect --> jdbc url
// jdbc : protocol 이름, oacle: db 이름, thin : 100% 자바로 작성된 드라이버
// @db server의 ip, 1521:oracle port 번호 => 예) ip : 건물, port번호 : 방번호
// xe : SID(System IDentifier)
String connect = "jdbc:oracle:thin:@127.0.0.1:1521:xe"; // loop back
// address :
// 로컬PC(여기서는
// 127.0.0.1)
// String connect = "jdbc:oracle:thin:@localhost:1521:dada"; //
// localhost로 써도 무방하다
String user = "scott";
String passwd = "tiger";
Connection conn;
Statement stat;
PreparedStatement pstat;
try {
// 1.driver 등록
Class.forName("oracle.jdbc.driver.OracleDriver"); // 객체 생성하는 또 다른 방법
// (Car c = new
// Car() 와 똑같은
// 원리)
// 2.connection 얻기 (네트워크 연결)
conn = DriverManager.getConnection(connect, user, passwd);
// pstat = conn.prepareStatement("delete from customer where num=?"); // DB로
// 쿼리문을
// 보냄,
// ?는
// 정해지지
// 않은값
// 한번 사용한 쿼리문을 재사용하기 떄문에 stat보다 속도가 빠르다.
// Statment -> PreparedStatement -> CallableStatment
// 보통
// pstat.setString(1, args[0]);
stat = conn.createStatement( ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_UPDATABLE);
ResultSet rs = stat.executeQuery("select * from customer");
while(rs.next()){
String num = rs.getString(1); // 1, 2,3 은 인덱스
// String num = rs.getString("num"); // 컬럼(num) 으로 줘도 무방하다
String name = rs.getString(2);
String address = rs.getString(3);
System.out.println(num+"--" + name+"--" + address);
}
System.out.println("========================");
while(rs.previous()){
String num = rs.getString(1);
String name = rs.getString(2); //rs.getString("name");
String address = rs.getString(3);
System.out.println(num+"--"+name+"--"+address);
}
System.out.println("========================");
// 3. statement 얻기
// stat = conn.createStatement();
// int cnt = pstat.executeUpdate();
// System.out.println(cnt + "row deleted....");
rs.close();
stat.close();
// pstat.close();
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
package asianaidt.jdbc;
import java.sql.*;
public class JbdcOracleMeta {
public static void main(String args[]) {
// connect --> jdbc url
// jdbc : protocol 이름, oacle: db 이름, thin : 100% 자바로 작성된 드라이버
// @db server의 ip, 1521:oracle port 번호 => 예) ip : 건물, port번호 : 방번호
// xe : SID(System IDentifier)
String connect = "jdbc:oracle:thin:@127.0.0.1:1521:xe"; // loop back
// address :
// 로컬PC(여기서는
// 127.0.0.1)
// String connect = "jdbc:oracle:thin:@localhost:1521:dada"; //
// localhost로 써도 무방하다
String user = "scott";
String passwd = "tiger";
Connection conn;
Statement stat;
try {
// 1.driver 등록
Class.forName("oracle.jdbc.driver.OracleDriver"); // 객체 생성하는 또 다른 방법
// (Car c = new
// Car() 와 똑같은
// 원리)
// 2.connection 얻기 (네트워크 연결)
conn = DriverManager.getConnection(connect, user, passwd);
// 3. statement 얻기
stat = conn.createStatement();
String query = "select * from customer";
System.out.println(query);
// 4.query 실행 후 결과 집합 얻기
ResultSet rs = stat.executeQuery("select empid, fname, salary from emp");
ResultSetMetaData rsmd = rs.getMetaData(); // MetaData 데이터의 데이터(즉,
// 컬럼 ex-num, name,
// address)
int count = rsmd.getColumnCount(); // 컬럼갯수 확인
for (int i = 1; i <= count; i++) {
System.out.print(rsmd.getColumnName(i) + "\t\t");
}
System.out.println();
while (rs.next()) {
for (int i = 1; i <= count; i++) {
System.out.print(rs.getString(i)+"\t\t");
}
System.out.println();
// System.out.println(num + "--" + name + "--" + address);
}
// 6.마무리 작업
rs.close();
stat.close();
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
1. Window > show view > other
2. Data Source Explorer 선택
3. 마우스 오른쪽 클릭 > New
4. Oracle 선택
5. oracle 11 버전 선택
6. jar를 ojdbc5.jar로 변경
7. 아래와 같이 설정
8. 확인
9. SID xe로 변경
10. Summary 확인
11. 아래와 같이 xe 가 생성됨
12. 마우스 오른쪽 > Generate DDL 클릭
14. Folder > Browse 클릭
이상 이클립스(Eclipse) 에서 오라클 디비(Oracle 11g)에 JBDC를 이용하여 연동해았습니다.
이클립스(Eclipse) 에서 오라클 디비(Oracle 11g)로 JBDC를 이용하여 연동해보겠습니다.
아래에 있는 소스 JdbcOracleMeta.java 로 실습을 해보겠습니다.
package asianaidt.jdbc;
import java.sql.*;
import java.util.Iterator;
public class JdbcOracleMeta{
public static void main(String args[]) {
String connect = "jdbc:oracle:thin:@127.0.0.1:1521:xe";
String user = "scott";
String passwd = "tiger";
Connection conn;
Statement stat;
try {
//1.driver 등록
Class.forName("oracle.jdbc.driver.OracleDriver"); //객체 생성
//2.connection 얻기
conn = DriverManager.getConnection(connect, user, passwd);
//3. statement 얻기
stat = conn.createStatement( ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_UPDATABLE);
//4.query 실행 후 결과 집합 얻기
ResultSet rs = stat.executeQuery("select empid, fname, salary from emp");
ResultSetMetaData rsmd = rs.getMetaData();
//5.결과집합 처리
for (int i = 1; i <= rsmd.getColumnCount(); i++){
System.out.print(rsmd.getColumnName(i)+"\t\t");
}
System.out.println("==================================");
while(rs.next()){
for (int i = 1; i <= rsmd.getColumnCount(); i++) {
String tmp = rs.getString(i);
System.out.print(tmp + "\t\t");
}
System.out.println();
}
System.out.println("================================================");
//6.마무리 작업
rs.close();
stat.close();
conn.close();
} catch ( Exception e ) {
e.printStackTrace();
}
}
}
이클립스(Eclipse) 에서 오라클 디비(Oracle 11g)에 JBDC를 이용한 결과 화면입니다.
'Information Technology > Java' 카테고리의 다른 글
| [JAVA] JDBC 2.0기능_08 (0) | 2013.02.28 |
|---|---|
| [JAVA] SWING을 이용한 오라클 DB 테이블 만들기_08 (0) | 2013.02.27 |
| [java] 엄마도 이해하는 자바 기본 6일차 (2) (0) | 2013.02.19 |
| [java] 엄마도 이해하는 자바 기본 6일차 (1) (0) | 2013.02.19 |
| [java] 엄마도 이해하는 자바 기본 5일차 (2) | 2013.02.18 |
Comments