Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    755

    Integrare database progetto java

    Salve,ho creato un client mail in java capace di inviare mail e leggere la posta di un indirizzo registrato tramite POP3,ora vorrei integrare un database al programma in modo da,effettuato l'accesso almeno una volta e ad ogni accesso si avrà un aggiornamento,poter salvare nel database i messaggi di posta dell'account collegato,così da poter poi visualizzare le mail anche da "offline".
    Ammetto di essere totalmente ignorante in materia di database e pur cercando su google informazioni a riguardo ancora sono in alto mare,mi potreste aiutare su come riuscire nel mio intento?
    Grazie!

  2. #2
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Prova a dare un'occhiata ad Apache Derby
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    755
    Ti ringrazio per la risposta,ma un database MySQL non può essere usato nel mio caso?
    Pongo questa domanda perchè ho trovato su questo forum una ottima guida su come mettere un database in una applicazione java fatta da LeleFT...quindi in tal caso mi troverei la strada un po' spianata.

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    755
    nessuna risposta?

  5. #5
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Anch'io ti suggerisco di documentarti su JavaDB (alias Apache Derby).
    E' un DBMS scritto completamente in Java, cross-platform (anche a livello di dati) e che prevede due modalità di utilizzo: una client/server (come MySQL, ad esempio) e una StandAlone (che credo sia quella che fa per te).

    Essendo completamente pure-Java, i driver JDBC (che sono anche il cuore completo del DBMS) possono essere inclusi nelle librerie dell'applicazione, facendo diventare il DBMS parte integrante dell'applicazione.

    Questa è la pagina del sito Oracle dedicata al progetto:
    http://www.oracle.com/technetwork/ja...iew/index.html

    Qui, invece, trovi tutta la documentazione necessaria (Java DB Reference Manual, Java DB Developer's Guide, ecc):
    http://download.oracle.com/javadb/

    L'alternativa (che, comunque, sconsiglio) è quella di utilizzare un dabatase Access (un file MDB). La pillola a cui ti riferisci spiega anche come connettersi ad un DB di questo tipo usando il bridge ODBC-JDBC.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  6. #6
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    755
    LeleFT ti ringrazio per la risposta.
    Ricapitolo un po' la mia situazione:
    tramite i tutorial sul sito di apache derby db , link , sono riuscito a installare,testare il software ecc.Ho importato i jar "derby.jar" e "derbytools.jar" tra le librerie del mio progetto ma ora ho una miriade di dubbi e domande (ripeto sono TOTALMENTE ignorante in materia di database):
    -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?
    -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"?
    -LeleFT mi parlava di versione "standAlone" come posso utilizzare quella modalità?
    -come faccio a salvare dei dati sul database?necessita l'SQL (che io francamente non conosco minimamente)?

    Chiedo scusa per le eccessive domande,ma ho una confusione totale in testa

  7. #7
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    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.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.