Java - Java coneccion BD pregunta

   
Vista:

Java coneccion BD pregunta

Publicado por gero (20 intervenciones) el 25/02/2011 21:26:32
Hola...
estoy rabiando con esto de conecciones a base de datos!
tengo un problema con el tema de la Orientacion a Objetos que me esta matando!

La coneccion la creo bien y todo!
peero como uso tablas y otras cosas de interfaz me estoy muriendo de infeliz por no saber como hacer que trabajen juntos, aver si me explico!

yo creo una coneccion, pero quiero tener la coneccion en una clase a parte, como para que este todo organizado.

el problema es que no se como poder trabajar con esa coneccion!
no quiero crear un objeto Coneccion por cada Ventana o Swing que valla a hacer consultas y ese tipo de cosas!

necesito saber como organizarme....si me pueden dar una idea de como armar las clases

si yo quisiera desde una ventana hacer una consulta tendria que crear que instanciar una clase coneccion y es todo un lio,.

Si me pueden guiar como organizar esto se los agradeceria
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Java coneccion BD pregunta

Publicado por JavierM (94 intervenciones) el 27/02/2011 06:04:27
La mejor forma de hacer esto es crear una clase en la cual tenga los metodos mas basicos por ejemplo la conexion,consultas,etc luego para obteber una conexion a una tabla especifica la clase que se crea para esta tabla deberia de heredar de la clase donde se tiene la funcion de conexion y listo. Aqui te dejo un ejemplo.

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package com.sql;

import java.io.Serializable;
import java.sql.*;

/**
*
* @author javier
*/
public class ConectaDB implements Serializable {
private static final long serialVersionUID = 8336175317634000658L;

protected Connection con = null;
private CallableStatement cstm = null;
private Statement stm = null;
protected ResultSet rs = null;
private PreparedStatement pstm = null;
protected ResultSetMetaData rsm = null;

public ConectaDB(Connection con) {
this.con = con;
}

public ConectaDB() {
if (con == null) {
con = getConnection();
}
}

private Connection getConnection() {
con = null;
try {
//esto varia segun el jdbc
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
//ver manual del jdbc que se esta usando para crear esta linea
con = DriverManager.getConnection("jdbc:sqlserver://[nombre del servidor]\\dbo:[puerto];databaseName=[base de datos]", "[usuario]", "[clave]");

} catch (SQLException ex) {
ex.printStackTrace();
} catch (Exception ex) {
ex.printStackTrace();

} finally {
return con;
}

}

public void select(String sql) throws SQLException {
try {
con = getConnection();
stm = con.createStatement();
rs = stm.executeQuery(sql);
} catch (Exception e) {
rs = null;
throw new java.sql.SQLException(e.getMessage());
}
}

public void execute(String sql) throws SQLException {
stm = con.createStatement();
stm.executeUpdate(sql);
}

/**
* @return the rs
*/
public ResultSet getRs() {
return rs;
}

/**
* @param rs the rs to set
*/
public void setRs(ResultSet rs) {
this.rs = rs;
}

}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar