Muy buenas de nuevo.
Aunque lo intenté así, no vi la manera. Finalmente he hecho lo siguiente, después de ver varios tutoriales y ejemplos por si a alguien le va bien:
He creado una clase auxiliar como ya tenía, pero con algunas reformas:
Código:
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package s********;
import java.sql.*;
import java.util.Hashtable;
/**
*
* @author javier
*/
public class SQLconnection {
static Connection conn = null;
private static SQLconnection INSTANCIA = null;
private SQLconnection() {
conectar();
}
public void conectar() {
//datos de la conexión
String user = "user";
String password = "pass";
String db = "my_db";
String host = "my_host";
String url = "jdbc:mysql://" + host + "/" + db;
try {
Class.forName("org.gjt.mm.mysql.Driver");
conn = DriverManager.getConnection(url, user, password);
if (conn != null)
{
System.out.println("Conexión a base de datos "+url+" … Ok");
stm = conn.createStatement();
}
}
catch(SQLException ex) {
System.out.println("Hubo un problema al intentar conectarse con la base de datos "+url);
}
catch(ClassNotFoundException ex) {
System.out.println(ex);
}
}
private synchronized static void creaInstancia() {
if (INSTANCIA == null) {
INSTANCIA = new SQLconnection();
}
}
public static SQLconnection getInstancia() {
if (INSTANCIA == null) creaInstancia();
return INSTANCIA;
}
/**Metodo para cerrar la conexión
*
*/
public void delInstancia() {
INSTANCIA = null;
cerrarConnection();
}
/**Metodo para cerrar la connexión con la base de datos
*
*/
public void cerrarConnection() {
try {
conn.close();
} catch (Exception e) {
System.out.println("Error al cerrar la conexi�n.");
}
}
Y después, para llamarlo desde los distintos Jframes:
Código:
*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package s********;
//import java.sql.Connection;
import javax.swing.table.DefaultTableModel;
/**
*
* @author javier
*/
public class Pedidos extends javax.swing.JFrame {
int fila = -1;
Object[][] dtPer;
SQLconnection conexion2 = SQLconnection.getInstancia();
/**
* Creates new form Pedidos
*/
public Pedidos() {
initComponents();
}
...
ahora en "conexion2" tenemos la conexion a la base de datos, y todos los metodos que implementemos en la clase SQLconnection necesarios para nuestra apicación, aqui solo he mostrado los 3 o 4 básicos para hacer la conexión y como "llamarla".