[b]Olá Pessoal,
Estou tentando criar um pool de conexão para uma aplicação Swing, gostaria de saber como eu pego a
conexão dessa classe que encontrei aqui no GUJ.
Estou chamando ela assim no meu código, mas isso ta gerando um ClassCastException
java.lang.ClassCastException: org.apache.commons.dbcp.DelegatingPreparedStatement cannot be cast to com.mysql.jdbc.PreparedStatement
;[/b]
Dbpc dbpc = new Dbpc();
Connection conn = Dbpc.getInstance().getConn();
PreparedStatement pstmt = (PreparedStatement) conn.prepareStatement("select from * users");
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.sql.DataSource;
import java.sql.*;
import org.apache.commons.dbcp.BasicDataSource;
import java.util.Properties;
import java.io.*;
public class Dbpc {
private static Dbpc instance = null;
private DataSource ds;
private Connection con;
private String driver;
private String url;
private String login;
private String password;
private int maxConnections;
private long maxWait;
/** Creates a new instance of Dbpc */
public Dbpc() {
//recuperando configuracoes de acesso ao db
driver = "com.mysql.jdbc.Driver";
url = "jdbc:mysql://localhost:3306/test";
login = "root";
password = "senha";
maxConnections = 10;
maxWait = 100;
ds = setupDataSource();
}
public static Dbpc getInstance() {
if(instance == null) {
instance = new Dbpc();
}
return instance;
}
[size=9][/size]
public Connection getConn() throws SQLException {
return ds.getConnection();
}
private DataSource setupDataSource() {
BasicDataSource ds = new BasicDataSource();
ds.setDriverClassName(driver);
ds.setUsername(login);
ds.setPassword(password);
ds.setUrl(url);
ds.setMaxActive(maxConnections);
ds.setMaxWait(maxWait);
ds.setDefaultAutoCommit(true);
return ds;
}
public void printDataSourceStats() throws SQLException {
BasicDataSource bds = (BasicDataSource) ds;
System.out.println("NumActive: " + bds.getNumActive());
System.out.println("NumIdle: " + bds.getNumIdle());
}
/*shutdown DataSource*/
public void shutdown() throws SQLException {
BasicDataSource bds = (BasicDataSource) ds;
bds.close();
}
}
