Java - Struts + Base de Datos

   
Vista:

Struts + Base de Datos

Publicado por Vane (3 intervenciones) el 16/02/2009 18:15:47
Hola amigos.

Bueno la intención de este post es escuchar sus opiniones y consejos acerca de como manejar la conexión con la base de datos
en una aplicación web utilizando el framework de Struts, sin utilizar un ORM como Hibernate ya que aún estoy aprendiendo Struts,
Hibernate será más adelante.

Yo tengo una clase llamada ConexionBD en donde tengo los métodos para conectarme y desconectarme a la base de datos, y tengo dos
metodos para ejecutar las sentencias Select y los Inserts, Updates, Deletes...

El método que tengo para ejecutar los Inserts, Updates, Deletes es mas o menos como sigue:

[php]
public int ejecutarSQL(String sql) {
int num_filas = 0;
Statement sentencia = null;

try {
&nbs p; sentencia = conexion.createStatement();
&nbs p; num_filas = sentencia.executeUpdate(sql);
} catch (Exception ex) {
&nbs p; ex.printStackTrace();
}

return num_filas;
}
[/php]

Entonces este metodo lo uso en el Execute de mi clase Action, lo que hago es leer la informacion que haya indicado el usuario, y
luego armo la instruccion Select para mandarsela al metodo ejecutarSQL de mi clase ConexionBD. El codigo queda mas o menos asi:

[php]
//Leemos la información del formulario que lleno el usuario
RegistroForm formulario = (RegistroForm)form;
String cedula = formulario.getCedula();
String nombre = formulario.getNombre();
String apellido = formulario.getApellido();
String fecnac = formulario.getFecnac();
String sexo = formulario.getSexo();
String continente = formulario.getContinente();
String pais = formulario.getPais();
String direccion = formulario.getDireccion();

//Guardamos la información en la base de datos
String sentencia;
sentencia = "insert into clientes (cedula,nombre,apellido,fecnac,sexo," +
&nbs p; "continente,pais,direccion) values " +
&nbs p; "('" + cedula + "','" + nombre + "','" + apellido + "'," +
&nbs p; "'" + fecnac + "','" + sexo + "','" + continente + "'," +
&nbs p; "'" + pais + "','" + direccion + "')";

conexion.ejecutarSQL(sentencia);
this.cargarClientes(request);

return mapping.findForward(EXITOSO);
[/php]

Y este mismo proceso tendría que repetirlo en cada pagina cada vez que desee insergar o guardar un registro.

Mi pregunta es, está bien la forma como lo estoy manejando? Hay una forma mas optima o mas correcta de manejar esto?
Me parece muy fastidioso tener que estar escribiendo una instruccion SQL cada vez que quiera guardar mi informacion
en la base de datos.

Bueno espero sus opiniones y consejos.

Saludos y gracias por su tiempo.
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:Struts + Base de Datos

Publicado por Richard (22 intervenciones) el 16/02/2009 19:54:15
Hola Vane.

Por lo que veo tu problema como tal tiene que ver con la reutilizacion de codigo, quieres programar menos, en eso te ayudaria hibernate ya que no tendrias que armar las sentencias tu. Ahora dada las circunstancias Podrias hacer un un metodo en el cual leas el metadata recuperes los campos de la BD y solo le pases el nombre de la tabla y los valores. Con eso armarias los insert dinamicamente, igual seria con las consultas y con las eliminaciones, creo que donde programarias mas seria un poco en la modificacion. Mas a la larga si ahorrarias tiempo en desarrollo.
Es un bosquejo muy general lo que estoy diciendo para darte una idea de por donde puedes buscar.
OJO Es solo una idea, pueden haber mejores.
Yo obte por tener mi patron DAO con sentencias para cada operacion de base de datos invoco un PKG de BD ya que tengo oracle y listo.
Programe un poco mas mas a nivel de mantenimiento es igual de bueno y rapido.
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:Struts + Base de Datos

Publicado por mario (622 intervenciones) el 16/02/2009 22:26:15
Puedes usar Spring JDBC la cual es una excelente API par apoder realizar persistencia al estilo de JDBC.

tambien puedes combinar spring con hibernate reutilizando mucho mas codigo.-

te dejo el link:

http://www.zabada.com/tutorials/simplifying-jdbc-with-the-spring-jdbc-abstraction-framework.php

Saludos:
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

PARA JAVA ES SIMILAR

Publicado por carlos (1 intervención) el 13/05/2009 21:23:30
PARA HACER INSERT INTO JAVA CON ACCES ES SIMILAR??
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