Bueno, después de esta pequeña reseña que podemos encontrar fácilmente en cualquier sitio que hable de Derby, vamos a lo importante, como lo usamos dentro de nuestras aplicaciones.
Básicamente lo que haré a continuación será parafrasear un poco los ejemplos de la guía rápida básica de Derby que podemos encontrar en el tutorial oficial.
Primero que nada necesitamos descargar Derby por supuesto, lo cual se puede hacer aquí. Una vez descargado descomprimimos el directorio que esta ahí contenido, ejemplo 'db-derby-alguna_version-bin'. A la ubicación de este directorio lo llamaremos de ahora en adelante: DERBY_HOME.
Comenzaremos con el ejemplo de el uso de Derby embebido dentro de tu aplicación java, lo hago debido a que esta es una de las características que mas llaman la atención de este manejador. Se supone que ya tenemos instalado y debidamente configurado un jdk en nuestro equipo.
Lo haremos a través de la linea de comandos (unix y windows) para hacer mas sencillo de explicar el procedimiento.
Primero creamos un directorio que llamaremos "DERBYTUTOR" y entramos en él. Ahí introduciremos los sguientes comandos, no se te olvide el punto que va al final (.):
Unix:
cp $DERBY_HOME/demo/programs/workingwithderby/* . export CLASSPATH=$DERBY_HOME/lib/derby.jar:.
Windows:
copy %DERBY_HOME%\demo\programs\workingwithderby\* . set CLASSPATH=%DERBY_HOME%\lib\derby.jar;.
Ahora en el directorio DERBYTUTOR en donde nos encontramos deben existir varios archivos java. Después de confirmar que los archivos WwdEmbedded.java y WwdUtils.java existan e introducir el siguiente comando para compilar ambos archivos:
Unix y Windows:
Si en este punto ocurre algún error probablemente es porque no se tiene bien configurado el jdk en nuestro sistema o que al definir el classpath algo no se hizo correctamente.javac WwdEmbedded.java WwdUtils.java
Si todo salió bien no deberá aparecer nada al ejecutarse la linea anterior y los archivos se habrán compilado satisfactoriamente, creando los archivos WwdEmbedded.class y WwdUtils.class.
A continuación ejecutamos el ejemplo con el siguiente comando y sucederá algo como lo que sigue:
java WwdEmbedded org.apache.derby.jdbc.EmbeddedDriver loaded. Connected to database jdbcDemoDB . . . . creating table WISH_LIST Enter wish-list item (enter exit to end): a peppermint stick __________________________________________________________ On 2009-05-08 13:12:09.058 I wished for a peppermint stick __________________________________________________________ Enter wish-list item (enter exit to end): a long vacation __________________________________________________________ On 2009-05-08 13:12:09.058 I wished for a peppermint stick On 2009-05-08 13:12:21.28 I wished for a long vacation __________________________________________________________ Enter wish-list item (enter exit to end): exit Closed connection Database shut down normally Getting Started With Derby JDBC program ending.
¿Que sucede aquí? Estamos accediendo una base de datos Derby embebida he insertando datos en una tabla. Asi es, sin un servidor Derby activo, simplemente con la aplicación actual.
En el enlace del ejemplo podrás obtener más detalles, lo único que me gustaría comentar aquí es como se logra la conexión en la clase WwdEmbedded a través de que detalles.
Lo único que cambia, con respecto al uso de cualquier JDBC es que utiliza los siguientes parametros:
// define driver a usar (el contenido en la libreria derby.jar)Y con esto simplemente creamos la conexión de manera normal:
String driver = "org.apache.derby.jdbc.EmbeddedDriver";
// nombre de la base de datos
String dbName="jdbcDemoDB";
// URL que Derby usara
String connectionURL = "jdbc:derby:" + dbName + ";create=true";
String driver = "org.apache.derby.jdbc.EmbeddedDriver"; ... try { Class.forName(driver); } catch(java.lang.ClassNotFoundException e) { ... }
Aquí concluiría este blog, cualquier otra duda te invito a checar la documentación de los ejemplos, es bastante clara (Aunque en inlgés) y para fines prácticos yo la veo bastante útil.String connectionURL = "jdbc:derby:" + dbName + ";create=true"; ... try { conn = DriverManager.getConnection(connectionURL); ...} catch (Throwable e) { ... }
Puedes ver el sitio oficial de Derby aqui.
No hay comentarios:
Publicar un comentario