JDBC ) 이클립스 오라클 연동 . sql 쿼리 실행하기.

2021. 8. 7. 16:28dummmy

반응형

사용 순서

1.드라이버 로드

2.연결 생성

3.문장 실행

4.결과

  • 준비

java build path에서 다운받은 dbms(드라이버)를 추가

디렉토리에 referenced libraried>ojdbc6.jar이 추가되고 하위 항목도 확인

sql 파일 생성하여 실행할 쿼리가 잘 로드되었는지 확인 , status:connected 인지 확인

 

 

 

 

 

 

 

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 DBTest01 {

	public static void main(String[] args) throws ClassNotFoundException, SQLException {
		//1. 드라이버 등록
		Class.forName("oracle.jdbc.driver.OracleDriver");
	
		
		//2. DB 연결 (커넥션 객체 가져옴)
		Connection con = DriverManager.getConnection(
				"jdbc:oracle:thin:@localhost:1521/xe","AA","AA");
		//(url,계정명username,password)
		
		//3.sql 실행
		
		
		//쿼리문을 실행하기위한 객체인 statement 
		Statement stmt=con.createStatement();
		ResultSet rs = stmt.executeQuery("SELECT * FROM EMP");
		
		//( "SELECT~ ")안은 실행할 쿼리문
		//실행할 쿼리문의 결과물을 resultset이라는 변수 안에 담는다.
		
		//4. 결과리턴
		while(rs.next()) {
		int empno = rs.getInt(1);
		String ename = rs.getString(2);
		int sal = rs.getInt("SAL");
		System.out.println(empno+" "+ename+" "+sal);
		
		}
		//이미 select문안에 있는 모든 데이터 베이스를 읽어왔고, while문안에서 내가 원하는 결과만 접근해서 보여주는 것이다.
		
		
		
		//5. 종료 
		rs.close();
		stmt.close();
		con.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 DBTest02 {

	public static void main(String[] args) throws ClassNotFoundException, SQLException {
	
		//0.준비 
		Connection con = null;
		Statement stmt = null;
		ResultSet rs = null;
		
		
		String driver = "oracle.jdbc.driver.OracleDriver";
		String url = "jdbc:oracle:thin:@localhost:1521:xe";
		String id = "AA";
		String pw = "AA";
		String sql = "SELECT * FROM DEPT";
		
		//1. 드라이버 등록
		Class.forName(driver);
		
		//2. db 연결
		con = DriverManager.getConnection(url,id,pw);
		
		//3. 쿼리 실행 및 결과 리턴 
		stmt = con.createStatement();
		rs = stmt.executeQuery(sql);
		
		while(rs.next()) {
			System.out.println(rs.getInt(1)+" : "+rs.getString(2)+": \t["+rs.getString("LOC")+"]");
		}
	//LOC는 DEPT의 컬럼명임 
		
		
		//4.종료
			
			rs.close();
			stmt.close();
			con.close();
	
		 
	}
}
반응형