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


0