기본 SQL 쿼리 실행

Java에서 PostgreSQL 데이터베이스 질의하기

Miller Trujillo

Staff Software Engineer

JDBC의 Statement

  • SELECT에는 executeQuery() 사용
  • INSERT, UPDATE, DELETE에는 executeUpdate() 사용

$$

메신저로서의 Statement

Java에서 PostgreSQL 데이터베이스 질의하기

Statement 생성

String sql = "SELECT book_id, title, publication_year FROM books";

try (Connection conn = DriverManager.getConnection(url, user, password); Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery(sql)) {
Java에서 PostgreSQL 데이터베이스 질의하기

ResultSet으로 결과 읽기

String sql = "SELECT book_id, title, publication_year FROM books";
try (Connection conn = DriverManager.getConnection(url, user, password);
     Statement stmt = conn.createStatement();
     ResultSet rs = stmt.executeQuery(sql)) {

while (rs.next()) {
int id = rs.getInt("book_id"); String title = rs.getString("title"); int year = rs.getInt("publication_year"); System.out.println(id + " | " + title + " (" + year + ")");}}
1 | Effective Java (2018)
2 | Clean Code (2008)
...
Java에서 PostgreSQL 데이터베이스 질의하기

예외 처리

try {
    Statement stmt = conn.createStatement();

stmt.executeQuery("SELECT * FROM unknown_table");
} catch (SQLException e) {
System.err.println("Error: " + e.getMessage()); System.err.println("SQLState: " + e.getSQLState()); }
Error: ERROR: relation "unknown_table" does not exist
  Position: 15
SQLState: 42P01
Java에서 PostgreSQL 데이터베이스 질의하기

요약

  • Statement는 SQL 명령을 DB로 보냅니다
  • ResultSet은 결과를 보관, next()로 순회
  • 게터: getInt(), getString(), getDate()
  • SELECT엔 executeQuery(), 수정엔 executeUpdate()
  • SQLException으로 오류 처리

요약

Java에서 PostgreSQL 데이터베이스 질의하기

연습해 봅시다!

Java에서 PostgreSQL 데이터베이스 질의하기

Preparing Video For Download...