venerdì 25 giugno 2010

Apache Derby: query SQL

Derby: creazione del database e delle tabelle
  1. Dopo aver caricato il driver JDBC in maniera analoga a quanto accade con gli altri DBMS:

    Class.forName("org.apache.derby.jdbc.EmbeddedDriver");

    È necessario istanziare la connessione, questo non avviene impostando indirizzo ip e porta (non avrebbe senso) ma specificando la directory nella quale mettere il database:

    DriverManager.getConnection("jdbc:derby:" + path.getAbsolutePath() + ";create=true");

    nell'esempio viene specificato il path relativo della directory data/example; il parametro create=true/false indica come deve comportarsi Derby se nella directory non è presente un database.

  2. Ora il database può essere utilizzato via JDBC come qualunque altro DBMS, con l'accortezza di non aprire mai più connessioni contemporaneamente!
    Se si commentano le righe dalla 23 alla 28 e si esegue il programma, verrà creato un database (da Eclipse facendo un refresh nella cartella data si vedranno i nuovi file) con dentro una tabella "item".
Derby: query per inserimento e lettura dei dati
  1. Per ri-eseguire il programma è necessario commentare la riga 22 (altrimenti solleverebbe un'eccezione poiché le tabelle esistono già) e decommentare le righe dalla 23 alla 28.

  2. Il metodo invocato alla riga 23 inserisce nella tabella 100 righe con delle normali INSERT

  3. Anche le SELECT sono scritte in SQL e rispecchiamo la sintassi standard del linguaggio, la prima

    SELECT description FROM item where price = (select min(price) from item)

    non ha parametri e restitusce la descrizione dell'articolo meno costoso, mentre la seconda

    select count(*) as c from item where price <= ?

    ha un parametro e restituisce il numero di articoli con un prezzo minore uguale di threshold.

  4. Una piccola nota "stonata" (almeno dal mio punto di vista) è che Derby non accetta il "punto e virgola" alla fine del comando come da standard SQL.


Post correlati:
Apache Derby: il DBMS portabile (Introduzione)
Apache Derby: configurare Eclipse per iniziare un progetto
Codice d'esempio

Nessun commento:

Posta un commento