Cuando se desarrolla una aplicación, puede ser un requisito que este tenga soporte para varias tipos de base de datos, si bien migrar el código de por ejemplo MySQL hacia Posgres o Firebird, no requerirá de mucho esfuerzo, en ocasiones, se desea que el código tanto para una u otra base de datos ya este presente en el proyecto. En este caso, donde más cuidado se debe tener es en las instrucciones SQL las cuales varían un poco entre SGBD, se deben añadir tantos drivers como soporte a base de datos se quiera, y claro, el código también se complicara un poco o.O pero no hay de que asustarse.
En este ejemplo, se implementa una aplicación con soporte para dos tipos de base de datos, Access de Microsoft y SQLite de Richard Hipp.
Necesitamos
– Base de datos Microsoft Access
– Base de datos SQLite y su driver de conexión «sqlitejdbc-v056.jar» o superior instalado en Netbeans
– IDE Netbeans 7 o superior y java
– Se puede crear una base de datos SQLite desde consola, pero es mucho mejor y más rápido el uso de una herramienta gráfica como «SQLite manager» disponible como plugin para Firefox
– Conocimientos de lenguaje SQL tanto para Access como para SQLite
– Windows o.O
Tiempo: 30 minutos
Nivel: intermedio avanzado
Proyecto
La aplicación al ejecutarse presentara un formulario donde el usuario podrá elegir entre que base de datos utilizar (Access o SQLite), cuando ingrese al programa, se leerá una registro aleatorio (frases celebres) de la base de datos seleccionada y se mostrara en pantalla.
– La Base de datos
Utilizando SQLite Manager, cree una base de datos llamado «oops.sqlite«, a continuación ejecute el SQL siguiente para crear una tabla llamada «frases»:
CREATE TABLE "frases" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL , "texto" TEXT check(typeof("texto") = 'text') , "autor" CHAR);
Necesitamos añadir algunos registros
INSERT INTO "frases" VALUES ("1","Los ordenadores son buenos siguiendo instrucciones, no leyendo tu mente","Donald Knuth"); INSERT INTO "frases" VALUES ("2","Tus clientes más descontentos son tu mayor fuente de aprendizaje","Bill Gates"); INSERT INTO "frases" VALUES ("3","Antes de que un software sea reutilizable debería ser utilizable","Ralph Johnson"); INSERT INTO "frases" VALUES ("4","Ley de Alzheimer de la programación: si lees un código que escribiste hace más de dos semanas es como si lo vieras por primera vez","Via Dan Hurvitz"); INSERT INTO "frases" VALUES ("5","La mejor forma de predecir el futuro es implementarlo","David Heinemeier Hansson"); INSERT INTO "frases" VALUES ("6","No documentes el problema; arréglalo","Atli Björgvin Oddsson"); INSERT INTO "frases" VALUES ("7","Si el código y los comentarios no coinciden, posiblemente ambos sean erróneos","Norm Schryer");
Utilizando Microsoft Office Access crea una base de datos «oops.accdb» y añade una tabla «frases» :
También necesitamos añadir algunos registros a la tabla frases:
1 "No temo a los ordenadores; lo que temo es quedarme sin ellos" "Isaac Asimov" 2 "El ordenador nació para resolver problemas que antes no existían" "Bill Gates" 3 "Los estándares son siempre obsoletos. Eso es lo que los hace estándares" "Alan Bennett" 4 "El mayor enemigo del conocimiento no es la ignorancia, sino la ilusión del conocimiento" "Stephen Hawking" 5 "Sólo hay dos cosas malas en C++: el concepto inicial y la implementación" "Bertrand Meyer" 6 "Perl: el único lenguaje cuyo código es prácticamente igual antes y después de someterlo a una encriptación RSA" "Keith Bostic" 7 "UNIX es simple. Sólo necesita un genio para entender su simplicidad" "Dennis Ritchie"
Trabajando en Netbeans
Crea un nuevo proyecto en Netbeans y añade las clases y formularios como se ve en la imagen siguiente
Observa que se añadió también el driver JDBC para SQLite.
descripción:
– ConexionDB.java : en esta clase se coloca todo el código para gestionar ambas bases de datos
– DbDouble,java : este es el MAIN de la aplicación y por lo general tendrá el nombre del proyecto.
– frmSelected.java : Es un JFrame, en este formulario el usuario haciendo uso de un jcombobox, selecciona la base de datos que desea utilizar.
– frmData : Es una JFrame, una vez que se selecciono la base de datos, se muestra este formulario.
Con esto ya tenemos todo listo para escribir código 🙂 esto, en el siguiente post 🙂
Desde que Google anuncio de que dejara de dar soporte al plugin de Eclipse y se concentrara en Android Studio, quienes t[...]
Gson es una biblioteca de código abierto para Java desarrollado por Google Inc que permite la serialización y deserializ[...]
Jasypt es una biblioteca java que permite agregar capacidades básicas de encriptación a proyectos con el mínimo esfuerzo[...]
JavaMail es una expansión de Java que facilita el envío y recepción de e-mail desde código java. JavaMail implementa el[...]
Cuando realizamos proyectos java desde Netbeans, usamos System.out.println para imprimir datos en consola (para dep[...]
En un post anterior conocimos que es y como funciona un parámetro de entrada IN en procedimientos almacenados y lenguaje[...]