ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • JDBC를 이용해 Oracle DB와 연동하기
    기타/Oracle 2020. 11. 20. 15:14

    커맨드 창을 열어서 계정에 접속해준다.

     

    수업 예제로 사용한 테이블 만들기를 해준다.

    CREATE TALE EMP
    칼럼 명 데이터 타입 기본 값 (생략가능) NULL (생략가능)
    EMPNO NUMBER(4) DEFAULT 1000 NOR NULL
    ENAME VARCHAR2(20)    
    JOB VARCHAR2(20)    
    SAL NUMBER(8)    

     

    1. 테이블 명(EMP), 컬럼 명

    테이블, 컬럼 명의 길이는 30byte 문자

    문자(영문, 한글), 숫자, 특수문자(_, $, #)만 가능

    반드시 문자로 시작

     

    2. 데이터 타입

    NUMBER(4) : 4자리의 가변 길이 정수

    NUMBER(7,2) : 7자리의 가변 길이 정수와 2자리의 가변길이 소수

    VARCHAR2(20) : 20byte의 가변 길이 문자

     

    CREATE TABLE EMP
    (
    EMPNO NUMBER(4),
    ENAME VARCHAR2(20),
    JOB VARCHAR2(20),
    SAL NUMBER(8)
    );

    위 코드는 번호, 이름, 직업, 수입을 적는 테이블표 틀이다

    성공하면 아래와 같은 문구가 뜬다.

    Table created.

     

    테이블을 만들었으니 알맞게 값을 넣어주자

    INSERT INTO EMP VALUES(숫자, '이름', '직업', 월급);

    이 한줄이 테이블 한 열을 채워준다.

    문자는 ' ' 작은따옴표안에 채워준다. 

    " "를 사용하면 에러가 난다.

    1열이 정상적으로 채워지면 아래와 같이 뜬다.

    1 row created.

     

    그럼 실체 채워진 테이블 정보를 확인해보자

    SELECT*FROM EMP;

    그러면 테이블 안에 정보가 잘 들어와 있다.

    이제 정보를 넣었으니 exit로 시스템을 종료해주자

    exit 종료하지 않으면 값이 저장되지 않을 수 있다

     

     

    이제 넣은 정보 값을 이클립스에서 확인해보자

    package chap99.jdbc;
    import java.sql.*;
    
    public class HelloJDBC {
    	
    	public static void main(String[] args) {
    		try {
    			Class.forName("oracle.jdbc.driver.OracleDriver");
    			System.out.println("오라클 드라이버가 있습니다");
    		} catch (ClassNotFoundException e) {
    			System.out.println("오라클 드라이버가 없습니다");
    			System.exit(0);
    		}
    		
    
    		String url ="jdbc:oracle:thin:@localhost:1521:xe";
    		String user = "ARASHI";
    		String password = "arashi";
    		Connection conn = null;
    		try {
    			conn = DriverManager.getConnection(url, user, password);
    		} catch (SQLException e) {
    			System.out.println("잘못된 정보가 있습니다");
    			System.exit(0);
    		}
    		
    		// 아래부터 추가된 소스
    		Statement stmt = null; //질문을 전달
    		ResultSet rs = null; //질문 결과를 담는 곳 
    			
    		try {
    			stmt = conn.createStatement();
    			String sql = "SELECT * FROM EMP";
    			rs = stmt.executeQuery(sql);
    			
    			while (rs.next()) {
    				// Int와 String은 커맨드 창에서 만든 값과 맞춰준다
    				System.out.println(
    					rs.getInt(1)+"\t"+ 
    					rs.getString(2) +"\t"+ 
    					rs.getString(3) +"\t"+ 
    					rs.getInt(4));
    			}
    		} catch (SQLException e) {
    			e.printStackTrace();
    		}
    		
    
    		try {
    			conn.close();
    		} catch (SQLException e) {
    			e.printStackTrace();
    		}
    		
    	}
    
    }
    

    정상적인 경우 아래와 같은 값이 찍힌다.

    더보기

    오라클 드라이버가 있습니다
    1000 아라시 아이돌 1500000

    댓글

Designed by Tistory.