- 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. - 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".
- 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.
- Il metodo invocato alla riga 23 inserisce nella tabella 100 righe con delle normali INSERT
- 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. - 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