Come utilizzare il database SQLite con il linguaggio Java
Vediamo come creare un’applicazione JAVA, che utilizza il collegamento al database SQLite
In questo esempio differenziamo tre funzioni di base:
– La creazione del Database
– L’inserimento di dati
– La Visualizzazione dei risultati
Iniziamo…
Apriamo il nostro editor preferito, in questo caso io utilizzo NetBeans
Creiamo quindi un nuovo progetto chiamato SQLiteProva1
colleghiamoci al sito: https://bitbucket.org/xerial/sqlite-jdbc/downloads e scarichiamo l’ultima versione di: sqlite-jdbc.jar
Copiamo il file appena scaricato nella cartella del nostro progetto
Includiamolo quindi nel nostro progetto, le procedure sotto indicate fanno riferimeto a NetBeans, però sono molto simili anche in altri programmi
Clicchiamo con il tasto destro sul nome del progetto e scegliamo la voce Proprietà
Clicchiamo quindi su Librerie e successivamento su Aggiungi Jar/Cartella
Selezioniamo il file sqlite-jdbc.jar e clicchiamo su Apri
Adesso che abbiamo incluso la nostra libreria procediamo con l’integrazione del database sqlite in java tramite il seguente codice sorgente.
package sqliteprova1;
import java.sql.*;
import java.util.Scanner;
/**
*
* @author davide oldani www.culturedigitali.com
*/
public class SQLiteProva1 {
public static void main(String[] args) {
proponiScelte();
}
//Visualizza la schermata di scelta
public static void proponiScelte(){
int scelta;
Scanner input = new Scanner(System.in);
System.out.println("Scegli una tra le seguenti opzioni e premi invio:");
System.out.println("1. Creare un nuovo database");
System.out.println("2. Inserire un nuovo dato");
System.out.println("3. Visualizzare i dati Inseriti");
System.out.println("4. Esci");
scelta = input.nextInt();
if (scelta == 1){
creaDatabase();
proponiScelte();
}
if (scelta == 2){
aggiungiDato();
proponiScelte();
}
if (scelta == 3){
visualizzaDati();
proponiScelte();
}
if (scelta == 4){
System.exit(0);
}
}
//Creo il Nuovo Database
public static void creaDatabase(){
try{
Class.forName("org.sqlite.JDBC");
Connection connessione = DriverManager.getConnection("jdbc:sqlite:rubrica.db");
Statement stato = connessione.createStatement();
stato.executeUpdate("CREATE TABLE persone (nome, numero)");
connessione.close();
System.out.println("Database Creato con Successo!");
} catch ( Exception e ) {
System.err.println( e.getClass().getName() + ": " + e.getMessage() );
System.exit(0);
}
}
//Inserisce Dato nel Database
public static void aggiungiDato(){
Scanner input = new Scanner(System.in);
String nome,numero;
System.out.println("Inserisci il nome:");
nome = input.next();
System.out.println("Inserisci il numero:");
numero = input.next();
try{
Class.forName("org.sqlite.JDBC");
Connection connessione = DriverManager.getConnection("jdbc:sqlite:rubrica.db");
Statement stato = connessione.createStatement();
stato.executeUpdate("INSERT INTO persone (nome, numero) VALUES ('"+nome+"', '"+numero+"')");
connessione.close();
System.out.println("Utente inserito con successo!");
} catch ( Exception e ) {
System.err.println( e.getClass().getName() + ": " + e.getMessage() );
System.exit(0);
}
}
//Inserisce Dato nel Database
public static void visualizzaDati(){
Scanner input = new Scanner(System.in);
try{
Class.forName("org.sqlite.JDBC");
Connection connessione = DriverManager.getConnection("jdbc:sqlite:rubrica.db");
Statement stat = connessione.createStatement();
ResultSet result = stat.executeQuery("SELECT * FROM persone");
while (result.next()) {
System.out.println(result.getString("nome") + " - " + result.getString("numero"));
}
result.close();
connessione.close();
System.out.println("Dati Visualizzati!");
} catch ( Exception e ) {
System.err.println( e.getClass().getName() + ": " + e.getMessage() );
System.exit(0);
}
}
}