En este artículo vamos a enseñar como conectar a db4o a través de Java (también sirve para Java Swing), utilizando un patrón Singleton para que solo se cree una instancia de conexión en toda la utilización del programa.
Para comenzar tenemos que crear una carpeta lib en el proyecto (donde se encuentran las carpetas src y bin) y meter los conectores de db4o. (Lo podemos descargar desde aquí)
Necesitamos estos 2 archivos (La numeración puede variar según la versión):

Código:
db4o-8.0.236.16058-core-java5.jar
db4o-8.0.236.16058-nqopt-java5.jar
Hecho esto en eclipse importamos el jar de la siguiente manera:


  1. Botón derecho en el nombre del proyecto –> Build Path –> Configure Build Path.
  2. En la pestaña Libraries hacemos clic en el botón Add JARs…
  3. Buscamos dentro del proyecto en la carpeta lib, seleccionamos el archivo de conexión y hacemos clic en OK.
  4. En caso de que no salga la carpeta lib, cerrar las propiedades, clicar encima del proyecto y presionar el boton F5 para refrescar el proyecto, y volver a ejecutar desde el paso 1.


Hecho esto ya tenemos el proyecto preparado para poder conectar con db4o
Seguidamente creamos un paquete en el proyecto que se llame com.example.data (o el nombre que le querais dar) y creamos un nuevo fichero java llamado DataConnection.java.
Hecho esto copiamos estas lineas:

Código:

Código:
package com.example.data;


import com.db4o.Db4oEmbedded;
import com.db4o.ObjectContainer;
import com.db4o.config.EmbeddedConfiguration;


public class DataConnection {


       private static DataConnection INSTANCE = null;
       private final String PATH = "db/bookseller.db4o";//Este es el nombre del fichero donde
                                                        //se guardan los datos. No es necesaria
                                                        //la extensión db4o
       private static ObjectContainer db;


       // Constructor
       private DataConnection() {
       }


       // creador sincronizado para protegerse de posibles problemas multi-hilo
       // otra prueba para evitar instanciación múltiple
       private synchronized static void createInstance() {
               if (INSTANCE == null) {
                   INSTANCE = new DataConnection();
                   INSTANCE.performConnection();
               }
           }


       //De aquí cojemos la conexión
       public static ObjectContainer getInstance() {
            if (INSTANCE == null)
                createInstance();
            return db;
       }


       public void performConnection() {
               EmbeddedConfiguration config = Db4oEmbedded.newConfiguration();
               db = Db4oEmbedded.openFile(config, PATH);
       }
       //Cerramos la conexión
       public void closeConnection() {
           db.close();
       }
}



Hecho esto ya tenemos una clase que conecta con una base de datos db4o.
Para cojer la conexión creamos una variable de clase como esta:

Código:
ObjectContainer db = DataConnection.getInstance();

Con esto ya podemos utilizar los métodos de db4o.