2016년 7월 5일 화요일

13day java

데이터처리기술
오라클SQL- 오라클 내부의 데이터 조작 방법


자바에서 데이터란
  • 임시
    • 변수/ 상수
  • 영구
    • 로컬
      • 파일
    • 원격
      • 데이터베이스
      • JDBC : 자바에서 데이터베이스 프로그램 다루는 기술
        1. 데이터베이스 연결 프로그램 파일찾아, 인스턴스 생성
        2. 연결 관리 CONNECTION 객체 생성
        3. 작업 처리할 Statement, preparedStatement, CallableStatement 객체 생성
        4. ResultSet 객체를 통한 Query 결과 처리
        5. 접속 종료
    • java → java.sql →database driver →데이터베이스
    •                     →database driver →데이터베이스
      • database driver는 데이터베이스 업체에서 제공함
        오라클용 database driver찾으려면 오라클 폴더에서 찾아야함

1
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class jdbcEx01 {

 public static void main(String[] args) {
  try {
   // 드라이버클래스 로딩
   Class.forName("oracle.jdbc.driver.OracleDriver");
   System.out.println("데이터베이스 로딩 성공");
  } catch (ClassNotFoundException e) {
   // TODO Auto-generated catch block
   System.out.println("[에러] : "+e.getMessage());
  }
  
  //String url = "jdbc:oracle:thin:@서버아이피:서버포트:오라클sid";
  //서버포트 C:/app/user/product/11.2.0/dbhome_1/NETWORK/ADMIN/listener 파일에서 확인
  // 127.0.0.1 아이피는 자신만 사용
  String url = "jdbc:oracle:thin:@192.168.0.80:1521:orcl";
  String user = "scott";
  String password = "tiger";
  
  Connection conn = null;
  try {
   //데이터 베이스 접속
   conn = DriverManager.getConnection(url, user, password);
   System.out.println("데이터베이스 연결 성공");
  } catch (SQLException e) {
   // TODO Auto-generated catch block
   System.out.println("[에러] : "+e.getMessage());
  } finally {
   if(conn != null) try { conn.close(); } catch(SQLException e){}
  }
 }

}

//소스코드 정리
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class jdbcEx02 {

 public static void main(String[] args) {
  //String url = "jdbc:oracle:thin:@서버아이피:서버포트:오라클sid";
  //서버포트 C:/app/user/product/11.2.0/dbhome_1/NETWORK/ADMIN/listener 파일에서 확인
  // 127.0.0.1 아이피는 자신만 사용
  String url = "jdbc:oracle:thin:@192.168.0.80:1521:orcl";
  String user = "scott";
  String password = "tiger";
  
  Connection conn = null;

  try {
   // 드라이버클래스 로딩
   Class.forName("oracle.jdbc.driver.OracleDriver");
   System.out.println("데이터베이스 로딩 성공");
   
   //데이터 베이스 접속
   conn = DriverManager.getConnection(url, user, password);
   System.out.println("데이터베이스 연결 성공");
  } catch (ClassNotFoundException e) {
   // TODO Auto-generated catch block
   System.out.println("[에러] : "+e.getMessage());
  } catch (SQLException e) {
   // TODO Auto-generated catch block
   System.out.println("[에러] : "+e.getMessage());
  } finally {
   if(conn != null) try { conn.close(); } catch(SQLException e){}
  }
 }

}


2
package jdbcEx01;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;

public class jdbcEx03 {

 public static void main(String[] args) {
  String url = "jdbc:oracle:thin:@192.168.0.80:1521:orcl";
  String user = "scott";
  String password = "tiger";
  
  Connection conn = null;
  //Statement 만들기 : sql문을 던질수 있는 박스
  Statement stmt = null;
  

  try {
   // 드라이버클래스 로딩
   Class.forName("oracle.jdbc.driver.OracleDriver");
   System.out.println("데이터베이스 로딩 성공");
   
   //데이터 베이스 접속
   conn = DriverManager.getConnection(url, user, password);
   System.out.println("데이터베이스 연결 성공");
   
   //Statement 생성 --dept테이블 데이터 추가
   stmt = conn.createStatement();
   //stmt.executeUpdate("insert into dept values(90, '개발', '서울')");    //직접 적는 것 가능함
   //String sql = "insert into dept values(91, '총무', '부산')";           //문장을 sql변수로 빼는것 가능함
   //각각의 변수를 생성하고 문자열 연결
   String deptno= "92";
   String dname= "회계";
   String loc= "대전";
   //String sql = "insert into dept values("+deptno+", '"+dname+"', '"+loc+"')";
   String sql = String.format("insert into dept values(%s,'%s','%s')", deptno, dname, loc);
   stmt.executeUpdate(sql);  
   System.out.println("SQL 실행 성공");
   
  } catch (ClassNotFoundException e) {
   // TODO Auto-generated catch block
   System.out.println("[에러] : "+e.getMessage());
  } catch (SQLException e) {
   // TODO Auto-generated catch block
   System.out.println("[에러] : "+e.getMessage());
  } finally {
   //Statement 닫기
   if(stmt != null) try { stmt.close(); } catch(SQLException e){}
   if(conn != null) try { conn.close(); } catch(SQLException e){}
  }
 }

}


3
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;

public class jdbcEx03 {

 public static void main(String[] args) {
  String url = "jdbc:oracle:thin:@192.168.0.80:1521:orcl";
  String user = "scott";
  String password = "tiger";
  
  Connection conn = null;
  //Statement 만들기 : sql문을 던질수 있는 박스
  Statement stmt = null;
  

  try {
   // 드라이버클래스 로딩
   Class.forName("oracle.jdbc.driver.OracleDriver");
   System.out.println("데이터베이스 로딩 성공");
   
   //데이터 베이스 접속
   conn = DriverManager.getConnection(url, user, password);
   System.out.println("데이터베이스 연결 성공");
   
   //Statement 생성 --dept테이블 데이터 추가
   //select 문을 제외한 모든 구문이 사용가능함
   stmt = conn.createStatement();
   //create 테이블만들기
   String sql = "create table aa(col1 varchar2(10))";
   stmt.executeUpdate(sql);  
   System.out.println("SQL 실행 성공");
   
  } catch (ClassNotFoundException e) {
   // TODO Auto-generated catch block
   System.out.println("[에러] : "+e.getMessage());
  } catch (SQLException e) {
   // TODO Auto-generated catch block
   System.out.println("[에러] : "+e.getMessage());
  } finally {
   //Statement 닫기
   if(stmt != null) try { stmt.close(); } catch(SQLException e){}
   if(conn != null) try { conn.close(); } catch(SQLException e){}
  }
 }

}



댓글 없음:

댓글 쓰기