Wstęp
Przydatne klasy:
- SQLFinder - odpowiada za wykonywanie zapytań
- SQLBuilder - pozwala definiować zapytanie
- SQLQueryBuilder - udostępnia statyczne metody do generowania fragmentów zapytań SQL
- FilterOperator - typ wyliczeniowy z dostępnymi operatorami warunkowymi
- LogicOperator - typ wyliczeniowy z dostępnymi operatorami logicznymi
- SimpleSQLFilter - definiuje prosty filtr
- GroupSQLFilter - definiuje grupę filtrów
- Sorter - definiuje sortowanie
- SortDirection - typ wyliczeniowy z dostępnymi kierunkami sortowania
- CountedResult<?> - przechowuje dane, wraz z ogólną liczbą wyników.
...
API umożliwia również dodatkowe funkcje tj. budowanie klauzuli where, order by, oraz ograniczanie zbioru wynikowego(offset i limit). Zacznijmy od filtrowania. Klasa SQLBuilder pozwala zbudować filtry za pomocą klas:
- SimpleSQLFilter - prosty filtr, opisuje nazwę kolumny, operator porównania i zawiera wartość filtru.
- GroupSQLFilter - pozwala grupować proste filtry, lub inne grupy filtrów. Warunki w grupie filtrów mogą być łączone operatorem logicznym OR, lub AND.
...
Dostępne operatory są opisane w dokumentacji FilterOperator. Przejdźmy do grupowania filtrów:
...
Przykład prezentuje sposób ograniczenia ilości zwracanych wyników. Poza parametrami oznaczającymi odpowiednio przesunięcie w zbiorze wynikowym(offset) i maksymalną ilość wyników(limit), widzimy, że zmienił się typ zwracanej wartości. Klasa CountedResult jest generyczna i służy przechowywaniu danych, wraz z ilością ogólną elementów. W tym przypadku otrzymamy maksymalnie 5 elementów, a wartość total będzie liczbą wszystkich elementów.