Mulai sekarangMulai 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 merupakan bagian dari kursus

Melakukan Query ke Basis Data PostgreSQL di Java

Lihat Kursus

Instruksi 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 langsung praktik

Cobalah latihan ini dengan melengkapi kode contoh ini.

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