Foros del Web » Programación para mayores de 30 ;) » Java »

Cómo tratar valores de una base de datos

Estas en el tema de Cómo tratar valores de una base de datos en el foro de Java en Foros del Web. Buenos días amigos y amigas Aqui estoy de vuelta con otra preguntita, espero que sea algo interesante para ustedes. Resulta que yo estoy trabajando con ...
  #1 (permalink)  
Antiguo 10/08/2007, 05:40
 
Fecha de Ingreso: agosto-2007
Mensajes: 7
Antigüedad: 16 años, 8 meses
Puntos: 0
Cómo tratar valores de una base de datos

Buenos días amigos y amigas

Aqui estoy de vuelta con otra preguntita, espero que sea algo interesante para ustedes. Resulta que yo estoy trabajando con servlets y con jsp. Tengo una base de datos donde tengo una tabla llamada articulos con sus respectivos campos. Cómo debo tratar a esos datos? Debo crear una clase Articulo donde especifico todos sus atributos y que contenga métodos como subirArticuloADB(), es decir que no sé cómo subir los articulos a la base de datos, si campo a campo (recibo el valor de los atributos de cada articulo mediante un formulario) o creando un objeto? Y si existe alguna otra alternativa (seguramente mucho mejor) por favor sugieranmelo. Desde ya muchas gracias
  #2 (permalink)  
Antiguo 10/08/2007, 05:54
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Re: Cómo tratar valores de una base de datos

Desde la pagina tendras que enviar los valores del objeto campo a campo, ya que asi funciona HTML/HTTP, luego en tu servlet puedes tratarlos como quieras. Puedes coger todos los campos y juntarlos en un objeto Articulo y tratar objetos, o puedes directamente coger los valores y meterlos en la BDD.

Ahí ya depende de los gustos de cada uno.

En caso de querer optar por la via de los objetos, lo recomendable es usar alguna libreria de tipo ORM (Object-Relational Mapping) que te haga el trabajo de traducir objetos a registros de tablas y viceversa. JPA, Hibermate, TopLink son ejemplos de ellas.

Si no te has metido nunca en Java y BDD, te recomendaría antes sin embargo que hicieras pruebas a meter el SQL "a pelo" para que entiendas lo que hay por debajo y te sea más facil comprender y depurar los problemas que tengas en el futuro.

S!
  #3 (permalink)  
Antiguo 10/08/2007, 05:58
 
Fecha de Ingreso: agosto-2007
Mensajes: 7
Antigüedad: 16 años, 8 meses
Puntos: 0
Re: Cómo tratar valores de una base de datos

Muchas gracias GreenEyed, ya he trabajado un poquillo metiendo datos en tablas "a pelo", pero nunca antes había visto (ni escuchado, mi leido - soy un novato ;)-) sobre librerias ORM, así que me pondré a investigar y a leer sobre ellas y su funcionamiento. Esas librerias se pueden agregar en Eclipse de alguna forma, ya que trabaje con ese IDE me gustaría poder adaptarlo a tu sugerencia. Y otra vez muchas gracias GreenEyed, con gente así es más fácil aprender...
  #4 (permalink)  
Antiguo 10/08/2007, 07:38
 
Fecha de Ingreso: mayo-2006
Mensajes: 137
Antigüedad: 18 años
Puntos: 1
Re: Cómo tratar valores de una base de datos

También puedes ocupar los javabean, con esto separas un poco mas tu aplicación en capas, aunque siempre hay que meterle código a la interfaz, simplemente al inicio de tu página declaras tu bean:

Código:
<jsp:useBean id=”registro” class=”usuario.Registro” scope=”page”>
<jsp:setProperty name=”registro” property=”*”></jsp:setProperty>
</jsp:useBean>
con use bean lo declaras,llamas al paquete que contiene la clase: "usuario" es mi paquete y Registro es la clase, con setProperty le dices que todos los campos de tu interfaz se van a llamar igual que en la clase, por ejemplo tienes en la interfaz algo asi:

Código:
<%if ((request.getParameter("boton"))!null){
     registro.Agrega();
}%>

<form method="post">
<input type="text" name="nombre">
<input type="submit" name="boton" value="envia">
</form>
Registro es la variable de setProperty q se debe llamar igual q el id del use bean, con eso mandas a llamar al método que desesas, ya en tu clase debe de estar algo asi:

Código:
class Registro{
    
    public String nombre; // se llama igual que en la interfaz
    ConexionBd conecta=new ConexionBd(); //si tuvieras alguna clase alterna para tratar la base de datos

   public Registro(){
   }
   
   public void setNombre(String nombre){
         this.nombre=nombre
}
   public String getNombre(){
        return nombre; 
 }

   public String prueba(){
         int dato=0;
         dato=conecta.Inserta("Insert into MiTabla(nombre) values ('"+this.getNombre+"')");
   }
}
En la la clase es importante crear tus set y get para el atributo de otra forma no hará el insert, dato se refiere a los que devuelve mi objeto de conexion.
Código:
public int Inserta (String sentencia){
          int dat=0;
         if(conectaBd()){
         try{
                this.stt=this.con.createStatement();
                dat=this.stt.executeUpdate(sentencia);
                this.stt.close();
                this.con.close();
         }
          catch(Exception e){
           this.error=”no se puedo realizar el insert a la bd”;
         }
      }
return dat;
}

Aqui hay una muy buena explicación de lo son los bean
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:36.