Ver Mensaje Individual
  #4 (permalink)  
Antiguo 02/07/2012, 17:16
camps
 
Fecha de Ingreso: junio-2012
Mensajes: 4
Antigüedad: 11 años, 10 meses
Puntos: 0
Respuesta: Mantener la conexión

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".