Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
languagejava
titleProste zapytanie SELECT
linenumberstrue
		//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:

  • SimpleSQLFilterprosty filtr, opisuje nazwę kolumny, operator porównania i zawiera wartość filtru.
  • GroupSQLFilterpozwala grupować proste filtry, lub inne grupy filtrów. Warunki w grupie filtrów mogą być łączone operatorem logicznym OR, lub AND.
Code Block
languagejava
titleProste filtry
linenumberstrue
		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.

...