여기서는 오라클에 간단히 데이터를 입력/수정/삭제 테스트를 위한 샘플 소스를 보여준다. 귀찮더라고 입력해보고 실제로 되는지 꼭 확인 하시요!


1. 입력 테스트 소스

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.PreparedStatement;

import java.sql.SQLException;

 

public class InsertTest {

    public static void main(String[] args) {

        //1. 4가지 정보

        String driver ="oracle.jdbc.driver.OracleDriver";    // ojdbc6_g.jar 파일내의 핵심 클래스

        String url = "jdbc:oracle:thin:@localhost:1521:xe"; //DB가 설치된 정보 

        String userid = "user01";

        String passwd = "1234";

          

        //2. 드라이버 로딩(OracleDriver 메모리에 올리는 작업)

        //문자열 형태의 클래스를 메모리에 올리는 방법. (new 사용안함)

        try {

            Class.forName(driver);

        } catch (ClassNotFoundException e) {

            e.printStackTrace();

        }

        

        //3. Connection 맺기(DB 연결)

        Connection con = null;

        PreparedStatement pstmt = null;

        try {

            con = DriverManager.getConnection(url,userid,passwd);

            

            //4. SQL문 작성 *주의* Java코드는 ; 안함 

            String sql = "insert into person ( per_no, name,age,address) values( ?, ?, ?, ?) "; //?는 값을 나중에 입력한다는 뜻

            

            //5. sql문 전송하는 객체인 PreparedStatement 생성

            pstmt = con.prepareStatement(sql);

            

            //6. ?에 값설정

            pstmt.setInt(1, 1); //1부터 시작

            pstmt.setString(2, "유재석"); //1부터 시작

            pstmt.setInt(3, 44);

            pstmt.setString(4, "서울");

            

            //7. sql 전송

            /* 전송메소드는 2가지가 있다.

             * 

             *  (1) ResultSet rs = pstmt.executeQuery()

             *  -select 문에서 사용

             *  -ResultSet는 select문의 실행된 결과를 참조하는 객체.

             *  

             *  

             *  (2) int n = pstmt.executeUpdate()

             *  - insert , delete, update 문에서 사용

             *  - n 값은 실행된 레코드 갯수 ex) n개의 행에 적용되었습니다.

             */

            

            int n = pstmt.executeUpdate();

            if(n==1){

                System.out.println("성공");

            }else{

                System.out.println("실패");

            }            

            

        } catch (SQLException e) {

            e.printStackTrace();

        }finally {

            // Connection, PreparedStatment 자원을 반납

            // 실행 역순으로 반납

            

            try {

                if(pstmt != null) pstmt.close();

                if(pstmt != null) con.close();

            } catch (SQLException e) {

                e.printStackTrace();

            }

        }

    }

}


2. 수정 테스트 소스

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.PreparedStatement;

import java.sql.SQLException;

 

public class UpdateTest {

 

    public static void main(String[] args) {

 

 

        //1. 4가지 정보

    

        String driver ="oracle.jdbc.driver.OracleDriver";    // ojdbc6_g.jar 파일내의 핵심 클래스

        String url = "jdbc:oracle:thin:@localhost:1521:xe"; //DB가 설치된 정보 

        String userid = "user01";

        String passwd = "1234";

        

        

        //2. 드라이버 로딩(OracleDriver 메모리에 올리는 작업)

        //문자열 형태의 클래스를 메모리에 올리는 방법. (new 사용안함)

        try {

            Class.forName(driver);

        } catch (ClassNotFoundException e) {

            e.printStackTrace();

        }

        

        //3. Connection 맺기(DB 연결)

        Connection con = null;

        PreparedStatement pstmt = null;

        try {

            con = DriverManager.getConnection(url,userid,passwd);

            

            //4. SQL문 작성 *주의* Java코드는 ; 안함 

            String sql = "update person set age = ?, address = ? where name= ?"; //?는 값을 나중에 입력한다는 뜻

            

            //5. sql문 전송하는 객체인 PreparedStatement 생성

            pstmt = con.prepareStatement(sql);

            

            //6. ?에 값설정

            pstmt.setInt(1, 35); //1부터 시작0

            pstmt.setString(2, "경기");

            pstmt.setString(3, "유재석");

            

            //7. sql 전송

            /* 전송메소드는 2가지가 있다.

             * 

             *  (1) ResultSet rs = pstmt.executeQuery()

             *  -select 문에서 사용

             *  -ResultSet는 select문의 실행된 결과를 참조하는 객체.

             *  

             *  

             *  (2) int n = pstmt.executeUpdate()

             *  - insert , delete, update 문에서 사용

             *  - n 값은 실행된 레코드 갯수 ex) n개의 행에 적용되었습니다.

             */

            

            int n = pstmt.executeUpdate();

            if(n==1){

                System.out.println("성공");

            }else{

                System.out.println("실패");

            }            

            

        } catch (SQLException e) {

            e.printStackTrace();

        }finally {

            // Connection, PreparedStatment 자원을 반납

            // 실행 역순으로 반납

            

            try {

                if(pstmt != null) pstmt.close();

                if(pstmt != null) con.close();

            } catch (SQLException e) {

                e.printStackTrace();

            }

 

        }

 

    }

 

}


3. 삭제 테스트 소스

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.PreparedStatement;

import java.sql.SQLException;

 

public class DeleteTest {

 

    public static void main(String[] args) {

 

 

        //1. 4가지 정보

    

        String driver ="oracle.jdbc.driver.OracleDriver";    // ojdbc6_g.jar 파일내의 핵심 클래스

        String url = "jdbc:oracle:thin:@localhost:1521:xe"; //DB가 설치된 정보 

        String userid = "user01";

        String passwd = "1234";

        

        

        //2. 드라이버 로딩(OracleDriver 메모리에 올리는 작업)

        //문자열 형태의 클래스를 메모리에 올리는 방법. (new 사용안함)

        try {

            Class.forName(driver);

        } catch (ClassNotFoundException e) {

            e.printStackTrace();

        }

        

        //3. Connection 맺기(DB 연결)

        Connection con = null;

        PreparedStatement pstmt = null;

        try {

            con = DriverManager.getConnection(url,userid,passwd);

            

            //4. SQL문 작성 *주의* Java코드는 ; 안함 

            String sql = "delete from person where name=?"; //?는 값을 나중에 입력한다는 뜻

            

            //5. sql문 전송하는 객체인 PreparedStatement 생성

            pstmt = con.prepareStatement(sql);

            

            //6. ?에 값설정

            pstmt.setString(1, "유재석"); //1부터 시작

            

            //7. sql 전송

            /* 전송메소드는 2가지가 있다.

             * 

             *  (1) ResultSet rs = pstmt.executeQuery()

             *  -select 문에서 사용

             *  -ResultSet는 select문의 실행된 결과를 참조하는 객체.

             *  

             *  

             *  (2) int n = pstmt.executeUpdate()

             *  - insert , delete, update 문에서 사용

             *  - n 값은 실행된 레코드 갯수 ex) n개의 행에 적용되었습니다.

             */

            

            int n = pstmt.executeUpdate();

            if(n==1){

                System.out.println("성공");

            }else{

                System.out.println("실패");

            }            

            

        } catch (SQLException e) {

            e.printStackTrace();

        }finally {

            // Connection, PreparedStatment 자원을 반납

            // 실행 역순으로 반납

            

            try {

                if(pstmt != null) pstmt.close();

                if(pstmt != null) con.close();

            } catch (SQLException e) {

                e.printStackTrace();

            }

 

        }

 

    }

 

}

'데이터베이스' 카테고리의 다른 글

eclipse + Oracle 연동 및 테스트  (0) 2017.01.05

+ Recent posts