Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2006
    Messaggi
    258

    Progetto DBCP di Jakarta..

    Salve ragazzi,
    vorrei chiedervi un aiuto perchè sono caduto nel panico più totale.
    Stavo realizzando un'applicazione in jsf che si interconnette con un db
    mysql.
    Ho realizzato il tutto con le jdbc 1.0,ma ora mi è stato detto di
    passare ad un datasource, per cui usando il server Tomcat ho pensato di
    appoggiarmi al progetto Jakarta DBCP.
    Avendo già la classe scritta per la connessione al db con le jdbc 1.0
    vorrei modificarla per adattarla a questa nuova tecnologia....ma non so
    dove mettere mano....ho letto la documentazione ma mi sembra
    terribilmente difficile,nonostante abbia già usato nella mia
    applicazione componenti esterni per fare l'upload di un file...
    Qualcuno ha voglia di aiutarmi?
    La classe è la seguente,come posso riscriverla nel nuovo ambito?
    Come devo modificare il web.xml del server?
    Vi prego aiutatemi...

    codice:
    ackage giu; 
    /* 
     * Classe dedicata alla gestione del Database. 
     * Gestisce l'apertura e la chiusura della connessione col Database 
     * Fornisce i metodi per l'esecuzione delle query sul Database 
     */ 
    import java.sql.*; 
    import java.util.Vector; 
    
    
    public class Database { 
       private String nomeDB;       // Nome del Database a cui connettersi 
       private String nomeUtente;   // Nome utente utilizzato per la 
    connessione al Database 
       private String pwdUtente;    // Password usata per la connessione al 
    Database 
       private String errore;       // Raccoglie informazioni riguardo 
    l'ultima eccezione sollevata 
       private Connection db;       // La connessione col Database 
       private boolean connesso;    // Flag che indica se la connessione è 
    attiva o meno 
    
    
       public Database(String nomeDB) { this(nomeDB, "", ""); } 
    
    
       public Database(String nomeDB, String nomeUtente, String pwdUtente) 
    { 
          this.nomeDB = nomeDB; 
          this.nomeUtente = nomeUtente; 
          this.pwdUtente = pwdUtente; 
          connesso = false; 
          errore = ""; 
       } 
    
    
       // Apre la connessione con il Database 
       public boolean connetti() { 
          connesso = false; 
          try { 
    
    
             // Carico il driver JDBC per la connessione con il database 
    MySQL 
             Class.forName("com.mysql.jdbc.Driver"); 
    
    
             // Controllo che il nome del Database non sia nulla 
             if (!nomeDB.equals("")) { 
    
    
                // Controllo se il nome utente va usato o meno per la 
    connessione 
                if (nomeUtente.equals("")) { 
    
    
                   // La connessione non richiede nome utente e password 
                   db = 
    DriverManager.getConnection("jdbc:mysql://localhost/" + nomeDB); 
                } else { 
    
    
                   // La connessione richiede nome utente, controllo se 
    necessita anche della password 
                   if (pwdUtente.equals("")) { 
    
    
                      // La connessione non necessita di password 
                      db = 
    DriverManager.getConnection("jdbc:mysql://localhost/" + nomeDB + 
    "?user=" + nomeUtente); 
                   } else { 
    
    
                      // La connessione necessita della password 
                      db = 
    DriverManager.getConnection("jdbc:mysql://localhost/" + nomeDB + 
    "?user=" + nomeUtente + "&password=" + pwdUtente); 
                   } 
                } 
    
    
                // La connessione è avvenuta con successo 
                connesso = true; 
             } else { 
                System.out.println("Manca il nome del database!!"); 
                System.out.println("Scrivere il nome del database da 
    utilizzare all'interno del file \"config.xml\""); 
                System.exit(0); 
             } 
          } catch (Exception e) { errore = e.getMessage(); } 
          return connesso; 
       } 
       public boolean eseguiAggiornamento(String query) { 
                  int numero = 0; 
                  boolean risultato = false; 
                  try { 
                     Statement stmt = db.createStatement(); 
                     numero = stmt.executeUpdate(query); 
                     risultato = true; 
                     stmt.close(); 
                  } catch (Exception e) { 
                     e.printStackTrace(); 
                     errore = e.getMessage(); 
                     risultato = false; 
                  } 
                  return risultato; 
               } 
       public Vector eseguiQuery(String query) { 
                  Vector v = null; 
                  String [] record; 
                  int colonne = 0; 
                  try { 
                     Statement stmt = db.createStatement();     // Creo lo 
    Statement per l'esecuzione della query 
                     ResultSet rs = stmt.executeQuery(query);   // Ottengo il 
    ResultSet dell'esecuzione della query 
                     v = new Vector(); 
                     ResultSetMetaData rsmd = rs.getMetaData(); 
                     colonne = rsmd.getColumnCount(); 
    
    
                     while(rs.next()) {   // Creo il vettore risultato scorrendo 
    tutto il ResultSet 
                        record = new String[colonne]; 
                        for (int i=0; i<colonne; i++) record[i] = 
    rs.getString(i+1); 
                        v.add( (String[]) record.clone() ); 
                     } 
    
    
                     rs.close();     // Chiudo il ResultSet 
                     stmt.close();   // Chiudo lo Statement 
                  } catch (Exception e) { e.printStackTrace(); errore = 
    e.getMessage(); } 
    
    
                  return v; 
               } 
    
    
       // Chiude la connessione con il Database 
       public void disconnetti() { 
          try { 
             db.close(); 
             connesso = false; 
          } catch (Exception e) { e.printStackTrace(); } 
       } 
    
    
       public boolean isConnesso() { return connesso; }   // Ritorna TRUE 
    se la connessione con il Database è attiva 
       public String getErrore() { return errore; }    // Ritorna il 
    messaggio d'errore dell'ultima eccezione sollevata 
       public Connection getConnection() { return db; }

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472
    Non è la stessa identica precisa domanda che hai fatto qui?
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

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.