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:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 |
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:
|
1 2 |
// 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í:
|
1 2 3 |
// Obtenemos el objeto deseado Persona p = new Persona("Fernando", 0, 0, 0); ObjectSet |
Si existe, actualizaremos el objeto:
|
1 2 3 4 5 6 7 8 9 10 11 |
// 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:
|
1 2 3 4 5 6 7 |
//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:
|
1 2 |
// 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