Java에서 PostgreSQL 데이터베이스 질의하기
Miller Trujillo
Staff Software Engineer
$$
$$
$$
$$
WHERE, ORDER BY, LIMIT, OFFSET ✨
String sql = "SELECT * FROM books WHERE publication_year > ?"; PreparedStatement pstmt = conn.prepareStatement(sql);pstmt.setInt(1, 2000); ResultSet rs = pstmt.executeQuery();
? 플레이스홀더를 쓰고 setInt()로 바인딩
String sql = "SELECT title, publication_year FROM books
WHERE category_id = ? ORDER BY publication_year DESC";
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setInt(1, 3);
ResultSet rs = pstmt.executeQuery();
// Adding dynamic behavior boolean desc = true; String sql = "SELECT title, publication_year FROM books WHERE category_id = ? ORDER BY publication_year ";sql += desc ? "DESC" : "ASC";
+=는 SQL 문자열에 텍스트를 덧붙임?:는 3항 연산자(간단한 if-else)LIMIT: 반환할 행 수 제어OFFSET: 결과 반환 전 앞의 행 건너뛰기ORDER BY: 페이지 간 일관된 결과 보장String sql = "SELECT title FROM books ORDER BY title ASC LIMIT ? OFFSET ?"; PreparedStatement pstmt = conn.prepareStatement(sql);pstmt.setInt(1, 10); // LIMIT: 페이지당 10권 pstmt.setInt(2, 20); // OFFSET: 처음 20행 건너뛰기 ResultSet rs = pstmt.executeQuery();
Java에서 PostgreSQL 데이터베이스 질의하기