Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    Join da una classe Java

    Salve a tutti... Volevo chiedere se qualcuno riesce a farmi un esempio di come implementare un metodo in cui faccio una Join??? Sto usando Spring 3, JDBC e MySQL...

    Quindi usando getJdbcTemplate... Il mio obbiettivo però è fare un metodo generico, cioè questo metodo dev'essere in grado di fare delle join con qualsiasi tabella, con un numero qualsiasi di campi, e dev'essere in grado di restituire un oggetto contenente i risultati da poter esporre su una pagina o sulla console...

    Grazie mille.
    Fumandito OK!!!

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    268
    join serve per visualizzare i dati di due o più tabelle che hanno un campo in comune, che senso ha astrarre il problema? a meno che non devi scrivere un editor di query

  3. #3
    Sto implementando un metodo del tipo:

    public List<Recruiting> findByJoin(String query, final String... campi) {
    log.info("Inizio a eseguire la JOIN");
    List<Recruiting> records = (List<Recruiting>) getJdbcTemplate().query(query,
    new RowMapper() {
    public Recruiting mapRow(ResultSet rs, int rowNum) {
    Recruiting r = new Recruiting();
    List<Object> c = new ArrayList<Object>();
    for (int i = 0; i < campi.length; i++) {
    try {
    c.add(rs.getObject(campi[i]));
    } catch (SQLException e) {
    e.printStackTrace();
    }
    }
    r.setCampi(c);
    return r;
    }
    });
    return records;
    }

    in cui paso come argomenti la query (in cui faccio una join), e un array di stringhe in cui specifico le colonne che sto usando nella query, indipendentemente da quale tabella vengano estratte..... Sto ancora facendo delle prove, ma se c'è un miglior suggerimento è apprezato... Grazie.
    Fumandito OK!!!

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    268
    sinceramente non ho ben capito dove vuoi arrivare.

    Una query in join ha questa struttura:

    select campo1, campo2, campo3 from tabella1 join tabella2 on tabella1.nomecampo = tabella2.nomecampo where...

    le tabelle in qualche modo sono legate, ad esempio una tabella anagrafica_clienti sarà sicuramente collegata alla tabella ordini_clienti con uno o più campi.

    al posto di campo1...campoN puoi passare l'array e parametrizzare i nomi delle tabelle, però se le tabelle non hanno legami ti vengono fuori risultati assurdi.

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.