Hola a todos, hoy os explicaré como podemos actualizar datos en nuestra base de datos DB4O.
DB4O es una base de datos orientada a objetos en un fichero, algo parecido a como es SQL Lite pero sin ser orientado a objetos.
Lo primero que necesitarás es el JAR de DB4O, podéis agregar la dependencia en apache netbeans. Aquí lo puedes descargar.
Vamos a usar la clase Persona la base de datos:
public class Persona { private String nombre; private int edad; private double peso; private double altura; public Persona() { } public Persona(String nombre, int edad, double peso, double altura) { this.nombre = nombre; this.edad = edad; this.peso = peso; this.altura = altura; } public String getNombre() { return nombre; } public void setNombre(String nombre) { this.nombre = nombre; } public int getEdad() { return edad; } public void setEdad(int edad) { this.edad = edad; } public double getPeso() { return peso; } public void setPeso(double peso) { this.peso = peso; } public double getAltura() { return altura; } public void setAltura(double altura) { this.altura = altura; } @Override public String toString() { return "Persona{" + "nombre=" + nombre + ", edad=" + edad + ", peso=" + peso + ", altura=" + altura + '}'; } }
En este caso, ya tenemos datos en la base de datos, estos son:
Lo primero que tenemos que hacer es crear la conexión con DB4O:
// Creamos la conexión ObjectContainer db = Db4oEmbedded.openFile("personas.db4o");
Imaginemos que quiero recuperar el objeto con el nombre «Fernando» y actualizarlo.
Para recuperarlo, lo haremos así:
// Obtenemos el objeto deseado Persona p = new Persona("Fernando", 0, 0, 0); ObjectSet<Persona> result = db.queryByExample(p);
Si existe, actualizaremos el objeto:
// Si existe el objeto if (result.hasNext()) { // Obtengo el objeto persona Persona pAct = result.next(); // Actualizo el objeto pAct.setEdad(35); // Guardamos el objeto de nuevo, actualizandolo db.store(pAct); }
Como puedes ver volvemos a usar el método store, eso es porque si le pasamos un objeto que existe, este se actualizará.
Ahora, mostramos todos los objetos:
//Obtenemos y mostramos todos los objetos p = new Persona(); result = db.queryByExample(p); while (result.hasNext()) { System.out.println(result.next()); }
Este es el resultado:
Recuerda siempre de cerrar la base de datos:
// Cerramos la base de datos db.close();
Te dejo un vídeo para guiarte aún más:
Te dejo aquí el ejemplo para descargar.
Espero que os sea de ayuda. Si tenéis dudas, preguntad. Estamos para ayudarte.
Deja una respuesta