hola mirando tu codigo no le veo error solo que no me queda muy claro si es necesario el newInstance mira yo tengo esta clase para realizar conexiones con mysql pruebala a ver que te resulta y vee que error te muestra ejecutandolo como te dije antes para que veas claramente que tipo de error es
Código:
import java.sql.Connection;
import java.sql.DriverManager;
/**
*
* @author djagu_26
*/
public class ConexionBD {
private Connection con;
private static ConexionBD instancia=null;
/** Creates a new instance of ConexionBD */
private ConexionBD() {
}
/**
*Retorna la instancia de la clase.
*
*
*@return ConexionBD
*/
public static ConexionBD getInstancia(){
if (instancia==null)
instancia = new ConexionBD();
return instancia;
}
/**
*Permite conectarnos a la base de datos
*
*
*@param usr String
*
*
*@param pwd String
*
*
*@param host String
*
*
*@param base String
*
*
*@return Boolean
*/
public boolean conectar(String usr, String pwd, String host,String base){
boolean valor=false;
try{
Class.forName("com.mysql.jdbc.Driver");
con = DriverManager.getConnection("jdbc:mysql://" + host + "/" + base,usr, pwd);
valor=true;
} catch(Exception ex){
ex.printStackTrace();
valor=false;
}
return valor;
}
/**
*Retorna la conexion.
*
*
*@return Connection
*/
public Connection getConexion(){
return con;
}
}
con esta clase solo necesitas conectarte una sola vez a la bd ingresando usuario y password(ventana login) y luego pides la conexion de cualquier parte del programa asi
ConexionBD.getInstancia().conectar("root","root"," localhost","base");//esto una sola vez
y despues llamas la conexion asi ConexionBD.getInstancia.getConexion();
esta clase usa un patron singleton
saludos