Bases de Datos - usar conexion jdbc en distintas clases

 
Vista:

usar conexion jdbc en distintas clases

Publicado por marcos (2 intervenciones) el 09/10/2007 18:29:26
hola buenas, ya he logrado hacer select, insert y demas con la conexion jdbc, el problema esque lo he hecho en la misma clase en la que he declarado la conexion,
lo que pregunto es ¿como puedo usar la conexion en distintas clase?

esta es la clase en donde he declarado la conexion, esta escasa pero no tiene errores.

----------------------------------------------------------------------------------------------

package DataBase;

import java.sql.*;

public class Conexion {

/** Creacion de la nueva instancia Conexion */
/*se establece la conexion en este paquete, se tendra que acceder siempre a esta
clase para poder realizar algun tipo de acceso a la bd.
Siempre tener encuenta en las clases que llaman a esta que se tiene que contemplar
el cerrar la conexion como posible fallo con un try o catch en la llamada*/
public Conexion() {
try
{
// Este driver está en mysql-connector-java-3.1.7-bin.jar
DriverManager.registerDriver(new org.gjt.mm.mysql.Driver());
// Establecemos la conexión con la base de datos.
Connection conexion = DriverManager.getConnection (
"jdbc:mysql://localhost/miprueba","root", "****");
// Preparo la consulta
Statement s = conexion.createStatement();
}
catch (Exception e)
{
e.printStackTrace();
}
}
}

--------------------------------------------------------------------------------------------

y esta desde donde la quiero llamar.

-------------------------------------------------------------------------------------------

package Entrada;

import java.sql.*;

public class ValidacionUsuario {

public String ValidacionUsuario(String usuario, String password) {

new Conexion();
// Recorremos el resultado, mientras haya registros para leer.
while (rs.next())
{
System.out.println (rs.getInt (1) + " " + rs.getString (2)+
" " + rs.getDate(3));
}

// Cerramos la conexion a la base de datos.
conexion.close();
}

return "correcto";
}

----------------------------------------------------------------------------------------

esque no se como relacionar la consulta a base de datos que quiero hacer en ValidarUsuario con la conexion de la clase Conexion.

se que el codigo esta bastante escaso, si me pudierais decir algun sitio o enviar unos ejercicios que tengan el mismo caso os estaria muy agradecido.

de antemano gracias.
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:usar conexion jdbc en distintas clases

Publicado por Franklin Gamboa (188 intervenciones) el 09/10/2007 22:46:39
Yo lo que hago en esos casos es una clase de acceso a la base de datos donde hago los selects, inserts, deletes, updates y demás.

Esa clase está dentro del paquete de mi programa, por lo que la puedo instanciar cada vez que la requiera.

Entonces, los métodos poseen un esqueleto de un select, por ejemplo y dentro de los parámetros que recibe están la tabla, los campos, los filtros, el orden y el grupo, esta clase devuelve un arraylist (perfectamente puede ser un array, pero entonces debes saber de antemano cuantas filas va a devolver) el cual recorro en la clase que requería el acceso a datos.

Bajo la misma lógica funcionan las clases de insert, delete, update, ellos reciben lo necesario para completar el SQL y devuelven cualquier cosa o nada(en lo personal, estas tres me devuelven un booleano para realizar el contról de errores y además reciben una variable String para obtener el error de la base de datos)

Espero que esto te funcione, y si no me di a entender, avisame para aclararme.

Saludos,

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

RE:usar conexion jdbc en distintas clases

Publicado por marcos (2 intervenciones) el 12/10/2007 18:17:41
Hola Franklin, en primer lugar gracias por tu tiempo.

Si me pudieras enviar un txt en el que pueda ver como lo haces te estaría muy agradecido, por que no estoy muy puesto en el tema del acceso a base de datos.

de ante mano un saludo.
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