package Query;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import oracle.jdbc.pool.OracleDataSource;

public class Query_01 {
 
    OracleDataSource ds;
 
     public Query_01(){
 
            try {
                 ds = new OracleDataSource();
                 ds.setURL("jdbc:oracle:thin:@211.234.53.68:1521:orcl");
            } catch (SQLException e) {
                 e.printStackTrace();
             }
     }
 
 
 private void execute() {
   //1. DB와 통신할수 있는 Connection
   Connection conn=null;
   try {
    conn = ds.getConnection("scott","tiger");
   } catch (SQLException e2) {
    e2.printStackTrace();
   }
   
   //2. 통로를 통해서 쿼리를 날릴 준비를 한다.
   Statement stmt=null;
   try {
    stmt = conn.createStatement();
   } catch (SQLException e1) {
    e1.printStackTrace();
   }
   
   StringBuffer sql = new StringBuffer();
   sql.append("SELECT  dname 부서명,a.empno 사원번호,     \n");
   sql.append("     a.ename 사원명,b.ename  관리자명          \n");
   sql.append("               FROM EMP a                              \n");
   sql.append("LEFT JOIN EMP b ON a.mgr=b.empno           \n");
   sql.append("LEFT JOIN DEPT c ON a.deptno = c.deptno   \n");
   
   //3. 쿼리실행후 결과 집합을 받아온다.
   //emp table에서 부서명 사원번호 관리자명으로 보여지도록.
   ResultSet rs=null;
   try {
     rs = stmt.executeQuery(sql.toString());
   //    rs.getSting(1)+"  "+
   //rs.next() :
    while(rs.next()){
      /*
      String dname = rs.getString("부서명");
      String empno = rs.getString("사원번호");
      String ename = rs.getString("사원명");
      String mgr = rs.getString("관리자명");
      System.out.println(dname+", "+empno+","+ename+", "+mgr); 
      */
      System.out.println(
      rs.getString("부서명")+","+
      rs.getString("사원번호")+","+
      rs.getString("사원명")+","+
      rs.getString("관리자명")
      );
     
    }
   
    }catch (SQLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    System.out.println("뽕");
   }
    finally{
     try {
      if(rs !=null) rs.close();
      if(stmt !=null) stmt.close();
      if(conn !=null) conn.close();
     } catch (SQLException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
     }
    }
   
 }
 
 public static void main(String[] args) {
   new Query_01().execute();
 }
}



다른 카테고리의 글 목록

웹 개발/JDBC 기초 카테고리의 포스트를 톺아봅니다