[자바] JDBC

nayoon·2021년 6월 19일
0

computer

목록 보기
18/25

JDBC

Java Database Connectivity

데이터베이스에 접속할 수 있도록 하는 자바 API

데이터베이스에서 자료를 쿼리하거나 업데이트하는 방법을 제공

실제 코드

DriverManager

Connection

Statement

PreparedStatement

ResultSet

위의 java.sql 라이브러리에 있는 클래스를 이용해서 아래와 같이 DB와 연결하고 DB에 쿼리를 날리거나 업데이트를 한다.

public class DB {
    private static void displayUserList() {
        Connection conn = null; // DB와 연결하는 역할
        PreparedStatement stat = null; // SQL 구문을 실행하는 역할
        ResultSet rs = null; // 결과를 받아와서 보여주는 역할
        
        try {
            conn = DBUtil.getConnection();
            String sql = "select * from User";
            stat = conn.prepareStatement(sql);
            System.out.println("유저 목록");
            rs = stat.executeQuery();
            while (rs.next()) { 
                System.out.printf("%s\t%s\t%s\t\n"
                        ,rs.getString("id")
                        , rs.getString("name")
                        , rs.getString("address"));
            }
            rs.close();
            stat.close();
            conn.close();
        } catch(Exception e) {
            System.out.println("DB.displayUserList() : " + e.toString());
        }
    }
}

class DBUtil {
    public static Connection getConnection() {
        Connection conn = null;
        String url = "jdbc:oracle:thin:@localhost:1521:xe";
        String id = "nayoon";
        String pw = "1234";
        try {
            Class.forName("oracle.jdbc.driver.OracleDriver");
            conn = DriverManager.getConnection(url, id, pw);
            return conn;
        } catch(Exception e) {
            System.out.println("DBUtil.getConnection() : " + e.toString());
        }
        return null;
    }
}

DriverManager를 이용해서 Connection 객체를 생성한다.

ResultSet은 next()라는 메소드를 이용한다.
(hasNext() 같은 건 없다..)
커서와 같이 동작해서 rs.next()하면 다음 데이터로 넘어간다.

참고 사이트

  1. [JDBC] PreparedStatement 개념 및 예제
profile
뚜벅뚜벅 열심히 공부하는 개발자

0개의 댓글