DBCP Jakarta Project...

G

gbattine

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; }
 
G

gbattine

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; }
 
N

none

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
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; }

 

Ask a Question

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

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,755
Messages
2,569,534
Members
45,008
Latest member
Rahul737

Latest Threads

Top