일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- SAP
- docker
- 자바스크립트
- sap mm
- 오라클 디비
- nodejs
- node.js
- 오라클
- db
- JavaScript
- 노드
- Python
- 유럽여행
- 파이썬
- 머신러닝
- Spring Framework
- 도커
- oracle
- SAP ERP
- Programming
- Mac
- Java
- Oracle DB
- 영어
- 자바
- 딥러닝
- ABAP
- IT
- SAP ABAP
- 비지니스영어
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