在 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 字串?: 三元運算子(精簡 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 books per page pstmt.setInt(2, 20); // OFFSET: skip first 20 rows ResultSet rs = pstmt.executeQuery();
在 Java 中查詢 PostgreSQL 資料庫