Do wykonywania zapytań do bazy danych mysql używam przygotowanych instrukcji. Chcę wdrożyć funkcję wyszukiwania opartą na pewnego rodzaju słowach kluczowych.
W tym celu muszę użyć LIKE
słowa kluczowego, tyle wiem. I już wcześniej korzystałem z przygotowanych instrukcji, ale nie wiem, jak tego użyć, LIKE
ponieważ z poniższego kodu gdzie miałbym dodać 'keyword%'
?
Czy mogę go bezpośrednio użyć w pstmt.setString(1, notes)
as (1, notes+"%")
lub coś takiego. Widzę wiele postów na ten temat w Internecie, ale nigdzie nie ma dobrej odpowiedzi.
PreparedStatement pstmt = con.prepareStatement(
"SELECT * FROM analysis WHERE notes like ?");
pstmt.setString(1, notes);
ResultSet rs = pstmt.executeQuery();
... LIKE '%' || ? || '%'
lub podobnie - ale to jest znacznie mniej elastyczne.