Apache Derby, tu base de datos relacional
Realizando los ejercicios de un curso que estoy haciendo, me he visto obligado a usar una base de datos desde Java.
Había oído hablar de “derby”, pero no tenía muy claro su uso ni ventajas. Aunque aún estoy en ello, creo que puedo ver claramente estas ventajas, así que voy a contar cómo usarla.
Ventajas
Las grandes ventajas de Derby son:
- Es una base de datos nativa en java
- El núcleo y el driver ocupan menos de 3Mb
- Aunque tiene modo cliente-servidor, se pude embeber en nuestra aplicación.
- Es libre (licencia Apache).
- Compatible con SQL estándar.
Y, contrariamente a todo lo que pueda parecer, no es una BBDD de juguete, sino todo lo contrario.
Derby para pruebas
Cuando estamos realizando pruebas, a menudo necesitamos una BBDD limpia. Derby tiene un modo “en memoria” que nos permite realizar las pruebas necesarias sin necesidad de tener una BBDD real.
Para comenzar, basta seleccionar el driver:
|
|
Ahora, obtenemos una conexión a una BBDD en memoria:
|
|
Y, finalmente, vamos a crearnos una tabla, que es la que vamos a probar:
|
|
Si estamos usando junit 4, lo podemos hacer muy sencillo:
|
|
Y, con este pequeño esqueleto, comenzar a realizar las pruebas. Cada test tendrá una BBDD limpia en la que realizar sus consultas y/o modificaciones.
Es más lento que probar una función que no accede a BBDD, pero más rápido que crearte una BBDD nueva cada vez.
Derby en un entorno de producción
Para utilizar Derby con un archivo, basta cambiar la forma de obtener la conexión:
|
|
Y para usarlo en modo cliente servidor, también:
|
|
Quiero usar esta maravilla
Los que me conocen saben que me he vuelto un Maven-adicto, así que la manera más simple de comenzar a usarlo es añadir lo siguiente a nuestro pom.xml:
|
|