본문 바로가기

Java

JDBC 기본세팅(mySQL+aws) + SELECT Query 실행

package ex1;
 
import java.sql.*;
 
public class SelectQuery {
    public static void main(String[] args) {
        Connection conn = null;
        Statement stmt = null;
        ResultSet rs = null;
 
        try {
            Class.forName("com.mysql.cj.jdbc.Driver");
            String url = "jdbc:mysql://ledx-1.c0puka4oucjv.ap-northeast-2.rds.amazonaws.com/sampledb";
            //jdbc:mysql://aws 엔드포인트 주소/스키마명
            conn = DriverManager.getConnection(url, "tiletocode""****");
            //DB계정, 비밀번호 기입
 
            System.out.println("DB서버 연결 성공.");
 
            stmt = conn.createStatement();
            String sql = "SELECT student_id, student_name, branch FROM students where branch='마포구'";
            //쿼리문
            rs = stmt.executeQuery(sql);
 
            while(rs.next()) {
                String student_id = rs.getString(1);
                String student_name = rs.getString(2);
                String branch = rs.getString(3);
                //컬럼index대신 컬럼명을 직접기입해도됨.(대소문자무관)
 
                System.out.println(student_id + " / " + student_name + " / " + branch);
            }
            rs.close();
            stmt.close();
            conn.close();
            //인스턴스를 닫을땐 선언의 역순으로
        }
        catch(ClassNotFoundException e) {
            System.out.println("드라이버 로딩 실패");
        }
        catch (SQLException e) {
            System.out.println("에러: " + e);
        }
        finally {
            try {
                if(conn != null && !conn.isClosed()) {
                    conn.close();
                }
            }
            catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }
}
 
 
cs

 

 

1. JDBC 드라이버 jar파일을 import한후 Class.forname()에 기입시

어떤 DB를 쓰느냐에 따라 패키지명이 다름

(oracle은 oracle.jdbc.driver.OracleDriver, mySQL은 com.mysql.cj.jdbc.Driver)

2. 로컬DB와 연결할때 썼던 url값 jdbc:mysql://localhost 대신

aws 엔드포인트 주소를 기입.

 

연결 성공 + SELECT 쿼리문 정상출력

'Java' 카테고리의 다른 글

JDBC: CRUD 모두 구현 and 캡슐화  (0) 2021.12.04
JDBC: DB(mySQL+aws)의 데이터 수정  (0) 2021.12.03
제네릭을 사용하는 이유  (0) 2021.11.28
인터페이스를 사용하는 이유  (0) 2021.11.28
vscode야...넌 또 왜이러니...  (0) 2021.11.13