MulaiMulai sekarang secara gratis

Sistem pencarian buku

Pencarian di CityBook Libraries saat ini hanya mendukung judul buku yang persis sama. Mereka memerlukan fitur pencarian yang lebih fleksibel yang memungkinkan pengunjung mencari berdasarkan sebagian judul, nama penulis, atau kombinasi dari kriteria tersebut.

Anda akan membuat pembangun kueri dinamis yang menyusun pernyataan SQL berdasarkan kriteria pencarian yang diberikan pengguna. Kelas HikariSetup sudah dikonfigurasi untuk Anda.

Latihan ini adalah bagian dari kursus

Melakukan Query ke Basis Data PostgreSQL di Java

Lihat Kursus

Petunjuk latihan

  • Tambahkan kondisi judul ke kueri.
  • Tambahkan AND jika Anda menambahkan kondisi judul atau WHERE jika tidak, ke kueri.
  • Lengkapi kueri untuk mengurutkan berdasarkan judul.

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

public class Main {
    public static void main(String[] args) {
        String titleSearch = "first";
        String authorSearch = null;

        StringBuilder sql = new StringBuilder(
                "SELECT b.title, a.first_name AS author " +
                        "FROM books b " +
                        "JOIN book_authors ba ON b.book_id = ba.book_id " +
                        "JOIN authors a ON ba.author_id = a.author_id ");
        boolean hasTitleSearch = false;

        if (titleSearch != null && !titleSearch.isEmpty()) {
            // Append the title condition
            sql.____("WHERE b.title ILIKE ? ");
            hasTitleSearch = true;
        }

        if (authorSearch != null && !authorSearch.isEmpty()) {
            // Add AND if you added title condition or WHERE if not
            sql.append(hasTitleSearch ? "AND " : "____");
            sql.append(" a.first_name ILIKE ? ");
        }

        // Complete the query to sort by title
        sql.append("____ ____ b.title");

        System.out.println(sql);
    }
}
Edit dan Jalankan Kode