...
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
//proste zapytanie SQLBuilder builder =new SQLBuilder(); builder.setQuery( "select * from testtable" ); builder.addScalar( "boolcol", StandardBasicTypes.BOOLEAN ); builder.addScalar( "textcol", StandardBasicTypes.STRING ); builder.addScalar( "datecol", StandardBasicTypes.DATE ); builder.addScalar( "intcol", StandardBasicTypes.INTEGER ); builder.addScalar( "doublecol", StandardBasicTypes.DOUBLE ); List<Map<String,Object>> data=finder.find( builder );//wykonanie zapytania |
...
Przy podawaniu parametrów ważne jest, aby ich typy zgadzały się z typami kolumn. Np. nie możemy podać "true" jako String, gdy kolumna jest typu boolean.
Definiowanie zwracanego typu
...
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.
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
builder.setQuery( "select textcol,boolcol from testtable " ); builder.addFilter(new SimpleSQLFilter( "textcol", "text3" )); builder.addFilter(new SimpleSQLFilter( "boolcol", true )); List<TestDto> data = finder.find( builder, TestDto.class );//wykonanie zapytania |
W przykładzie zdefiniowaliśmy dwa proste warunki. Domyślnie operatorem porównania jest znak równości, a operatorem logicznym, który łączy warunki jest AND. Oczywiście możemy zmienić domyślne ustawienia.
...