DBCP Jakarta Project...

Discussion in 'Java' started by gbattine, Jul 4, 2006.

  1. gbattine

    gbattine Guest

    Hi guys,
    i need a disperate help,because i'm crazing with this problem.
    I'm developing a jsf application with tomcat server and i have to
    develop interactions beetwen the application and a mysql db.
    I've done it with jdbc 1.0, now i've to use jdbc 2.'0 and datasource,so
    i've thinked to use Jakarta DBCP project.
    I've read documentation but i'm not able to go on.
    Can someone help me?
    Can you post me a class that care connession with mysql db?

    This is my code...

    package 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 =
    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; }
     
    gbattine, Jul 4, 2006
    #1
    1. Advertising

  2. gbattine

    gbattine Guest

    Can someone help me?
    Please...
    gbattine ha scritto:

    > Hi guys,
    > i need a disperate help,because i'm crazing with this problem.
    > I'm developing a jsf application with tomcat server and i have to
    > develop interactions beetwen the application and a mysql db.
    > I've done it with jdbc 1.0, now i've to use jdbc 2.'0 and datasource,so
    > i've thinked to use Jakarta DBCP project.
    > I've read documentation but i'm not able to go on.
    > Can someone help me?
    > Can you post me a class that care connession with mysql db?
    >
    > This is my code...
    >
    > package 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 =
    > 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; }
     
    gbattine, Jul 5, 2006
    #2
    1. Advertising

  3. gbattine

    none Guest

    why not set up a connection pool in tomcat? and let it do the work for you.

    try this URL for config and code examples:
    http://tomcat.apache.org/tomcat-5.5-doc/jndi-datasource-examples-howto.html

    Tim

    gbattine wrote:
    > Can someone help me?
    > Please...
    > gbattine ha scritto:
    >
    >
    >>Hi guys,
    >>i need a disperate help,because i'm crazing with this problem.
    >>I'm developing a jsf application with tomcat server and i have to
    >>develop interactions beetwen the application and a mysql db.
    >>I've done it with jdbc 1.0, now i've to use jdbc 2.'0 and datasource,so
    >>i've thinked to use Jakarta DBCP project.
    >>I've read documentation but i'm not able to go on.
    >>Can someone help me?
    >>Can you post me a class that care connession with mysql db?
    >>
    >>This is my code...
    >>
    >>package 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 =
    >>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; }

    >
    >
     
    none, Jul 5, 2006
    #3
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Michael Scovetta
    Replies:
    0
    Views:
    3,102
    Michael Scovetta
    Jun 4, 2003
  2. ck388
    Replies:
    0
    Views:
    3,802
    ck388
    Jun 6, 2003
  3. GaryM
    Replies:
    0
    Views:
    379
    GaryM
    Dec 31, 2003
  4. Varian
    Replies:
    1
    Views:
    1,235
    Varian
    Dec 1, 2005
  5. untung
    Replies:
    0
    Views:
    450
    untung
    Oct 7, 2009
Loading...

Share This Page