Visualizzazione dei risultati da 1 a 5 su 5

Discussione: Tipi di dato da DB

  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2006
    Messaggi
    153

    Tipi di dato da DB

    Ciao a tutti!!!
    mi ricorre un famoso problema....

    Ho costruito una classe che si interfaccia con un db MySQL. Quando faccio una SELECT il ResultSet lo verso in una Lista.
    straggo i dati dal ResultSet per versarli nella Lista, devo chiamare il "get" appropriato in base al tipo di dato.

    Senza contare che aggiungere l'elemento alla Lista direttamente con il suo tipo originale sarà una gran cosa quando vado ad usare gli elementi della lista nell'applicazione! Ad esempio se devo passarli come parametri ad una funzione, o tutti quegli altri utilizzi in cui è necessario usare il tipo di dato corretto.

    Un consiglio che mi è stato dato è:
    - Usare tipi INTEGER e non INT nel database, poichè INT nn è interpretato come un oggetto e se devi fare dei controlli tipo (A instanceOf B) avrai problemi;

    C'é un approccio per risolvere in modo solido queste problematiche??

  2. #2
    Secondo me sbagli approccio, ti serve un livello in + di astrazione; mi spiego, se io faccio una select dal database non vado a mettere la tupla dei risultati cosi come sono in una lista anche perchè sarebbero poco manutenibili, ma creerei un oggetto che mi rappresenti quella tupla.
    Faccio un esempio per essere più chiaro.
    Query:
    SELECT titolo,autore,casaEditrice From Libro.
    Il resultSet risultante non lo riverserei direttamente in una List generica di Object ma bensi
    mi creerei un Classe Libro{titolo,autore,casaEditrice} e creerei oggetti di tipo Libro per poi creare una lista di libri e non di tuple.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2006
    Messaggi
    153
    Ciao grazie per l'intervento! Ti riferisci al concetto di "bean"?
    In pratica mappo ogni tabella del DB con un oggetto che ha come attributi i campi della relativa tabella!

    Con questo approccio io farei così:
    Mappo le tabelle del DB con le classi java, ed uso una classe di servizio ("DataBaseMap") che contiene i metodi get e set per ogni tabella contenuta nel DB. Es:

    public List<Prodotto> getProdotto(String whereCondition)
    public void setProdotto(List<Prodotto> products)

    Non so... sono sulla strada giusta???

    Per il momento ho un DB con meno di dieci tabelle, e così rimarrà credo, per questo sto scartando l'idea di tool tipo hibernate.

  4. #4
    Potresti se hai voglio anche ricrearti tramite l'uso della "Reflection" una DateBaseMap generica che ti mappi in automatico il resultset passatogli; ma forse per 10 tabelle non ne vale la pena... anche se a scopo didattico io lo farei.

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2006
    Messaggi
    153
    intendi usando "getClass()"...? conosci qualche esempio??

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 © 2026 vBulletin Solutions, Inc. All rights reserved.