Originariamente inviato da zipangulu
-ho capito che bisogna innanzittutto creare un database prima di utilizzarlo,ricordando il mio scopo (memorizzare le mail di ogni contatto che si collega alla propria casella di posta col mio software nel database), devo far creare un database per ogni utente?
A tua discrezione. Io lo sconsiglierei perchè ci sono almeno tre approcci migliori, usando un solo DB:

1) Creare uno schema (parlo di SCHEMA di JavaDB) per ciascun utente: ciascuno schema avrà le sue tabelle.

2) Creare un solo schema, e ciascun utente avrà la sua tabella per le mail in quell'unico schema.

3) Creare un solo schema e "una sola tabella per le mail". La chiave primaria della tabella conterrà l'id dell'utente a cui è riservata quella mail.

A te la scelta.

-le mail che io riesco a leggere di un account di posta le ho sotto forma di Message (libreria javax Mail) e riesco a aprirle/leggerle finchè la cartella/folder "inbox" è aperta,quindi fin quando,in un certo senso,l'utente è collegato...quindi come faccio a salvare le mail (Message) in modo "permanente",che possano essere visibili all'utente anche da "offline"?
L'oggetto Message possiede il metodo writeTo() che accetta un OutputStream su cui scrivere... quindi, anche un FileOutputStream per poter scrivere su un file, o un OutputStream generico per poterlo salvare, ad esempio, in un campo BLOB di un DB.

-LeleFT mi parlava di versione "standAlone" come posso utilizzare quella modalità?
Mi pare che tu lo faccia già, importando nelle librerie "derby.jar" e "derbytools.jar". La documentazione, comunque, propone diversi esempi di utilizzo sia della versione StandAlone, che della versione ClientServer... dovrebbe cambiare solo la connection-string da usare per la connessione. Io, finora, ho usato solo la stand-alone.

-come faccio a salvare dei dati sul database?necessita l'SQL (che io francamente non conosco minimamente)?
Dipende: se utilizzi direttamente JDBC, chiaramente dovrai scrivere a mano tutte le istruzioni SQL necessarie ad effettuare gli inserimenti e i prelievi dei dati dal DB.
Se, al contrario, decidi di studiare JPA e affiancare un PersistenceProvider come Hibernate, non sarai costretto a conoscere l'SQL (almeno, non approfonditamente) per operare col DB: la creazione e l'aggiornamento del DB e delle sue tabelle e relazioni vengono fatte in modo automatico e "silenzioso" dal Persistence Context, inserimenti e prelievi vengono fatti attraverso i metodi messi a disposizione dalla JPA e, quando serve, puoi usare JPQL (Java Persistence Query Language) che è un linguaggio simile all'SQL, ma diverso.


Ciao.