sábado, 22 de agosto de 2015

Usar una base de datos empotrada con Java

Parce que el futro va para bases de datos en la nube o algún tipo de almacenamiento en la nube. Pero en algunos casos debemos almacenar información de manera local para nuestras aplicaciones, hay varias opciones para hacer esto. Una de las opciones es almacenar los datos en archivos plano, con esta técnica tendríamos que mantener lo integridad de los datos nosotros mismos y también tendríamos que crear nuestro propio administrador de datos.


Los motores de base de datos tienen un mayor poder para mantener la integridad de la información y las búsquedas de los datos que deseamos. Lo que pasa es que en muchas ocasiones el usuario no tiene ni idea como instalar o mantener una base de datos por su propia cuanta e instalar una con nuestros sistemas tampoco es una opción. Por eso vamos a trabajar con base de datos empotradas en nuestro sistema, esto quiere decir que no tenemos que instalar el motor ya que viaja con nuestro sistema. 

Hay varias opciones de bases de datos empotradas en internet, pero para nuestro ejemplo vamos a usar H2 database pueden encontrarlo en este link  

Para este ejemplo requerimos descargar el controlador del motor de base de datos, Netbeans y tener Java instalado en nuestra máquina. 

  • Para poder instalar esta base de datos vamos a descargarla de este link la versión Binary
  • Agregamos el controlador o el Jar en las librerías de Netbeans (h2-1.4.187.jar).
  • Luego debemos importar el controlador de la base de datos en la clase que deseamos usar Class.forName("org.h2.Driver");

Debemos iniciar la conexión de base de datos usando la siguiente instrucción
con = DriverManager.getConnection("jdbc:h2:~/"+ DBName+"",DBUser, DBPassword );


Donde especificamos el nombre de la base de datos que deseamos crear. El nombre de usuario y la contraseña para proteger nuestra base de datos.

Con esto ya estamos listo para poder trabajar con la base de datos. Vamos a ver cómo crear una pequeña tabla en nuestra base de datos con el siguiente script

CREATE TABLE contacto (
currentUserName varchar(200),
userName varchar(200),
creationDate timeStamp
);

Con esta tabla vamos a poder guardar datos. Lo importarte es tener en cuenta que todas las instrucciones de SQL funcionan con este motor. Podemos agregar, borrar o actualizar información. Al igual que crear llaves primarias, llaves foráneas, etc. También debemos tener en cuenta que se puede usar Java Persitance o Hibernate.

Luego de hacer unos inserts 

Podemos verificar si nuestros datos están almacenados con un simple select

Después de agregar el Jar de H2Database y crear la base de datos esta va a viajar con nuestro Jar.


Si quieren ver el ejemplo lo pueden descargar el código aquí link 

Etiquetas: