Siguiendo con el tema de JDBI está ocasión veremos una pequeña aplicación del tipo CRUD (altas, bajas, consultas y modificaciones).
Necesitamos crear una base de datos;
CREATE DATABASE test;
Una vez creada procedemos a seguir con estos pasos.
- Crear un archivo *.sql llamado bien.sql para la creación de la tabla
- Crear una BD en MySQL
- Usar el archivo *.sql de la siguiente manera: $ mysql -u USUARIO -pCLAVE test < bien.sql
- Crear un archivo froovy llamado Dao2.groovy
- Importar las librerías necesarias para manipular datos y crear un log: jdbi, slf4j, y mysql mediante @Grapes
- Crear una interface llamada BienDAO; esta interface contendrá los métodos con las declaraciones necesarias para la gestión de los datos
- Crear una clase serializable llamada ModeloBien
- Crear una clase que implemente la interface ResultSetMapper
- Crear una clase principal (en este caso tendrá el mismo nombre del archivo)
CREATE TABLE IF NOT EXISTS bien(id int auto_increment primary key,numero int, usuario varchar(45), password varchar(32), maquina ENUM('pc','macosx','laptop_pc','laptop_macosx','movil'), sistema ENUM('windows','macosx','linux','android'), area ENUM('direccion','sistemas','soporte','hemeroteca','evaluacion','investigacion'), ip varchar(15), no_bien varchar(45));
INSERT INTO bien (numero, usuario, password, maquina, sistema, area, ip, no_bien) VALUES ('39','Yuri Gagarin','5432','pc','windows','sistemas','148.215.24.39','7749'),('36','Maria Petrovska','009GT2b','pc','linux','hemeroteca','148.215.24.36','7767'),('90','Tulio Alvarez','$36@L77','laptop_macosx','macosx','investigacion','172.215.22.25','4343');
UPDATE bien SET area='investigacion' WHERE id=2;
UPDATE bien SET area='soporte' WHERE id=1;
DELETE FROM bien WHERE id=3;
SELECT * FROM bien;
$ mysql -u TUUSUARIO -pTUCLAVE test < bien.sql
Esto nos permitirá cargar los datos contenidos en el archivo.
El programa consiste en un menú que te dará las opciones de insertar, consultar por id, consultar todos los registros, actualizar los datos por id y eliminar datos por id.
compilar: groovyc Dao2.groovy
ejecutar: groovy Dao2.groovy TUUSUARIO TUCLAVE
Ejemplo de uso y salida:
$ mysql -u root -p5432 test < bien.sql
$ groovyc Dao2.groovy
$groovy Dao2.groovy root 5432
[main] INFO jdbi - Iniciando script ...
[main] INFO jdbi - usuario: root
[main] INFO jdbi - password: 5432
******* Menu *******
1. Insertar datos
2. Consultar datos por id
3. Consultar total de datos
4. Actualizar datos por id
5. Eliminar datos por id
6. Salir
*******************************
Escoge una opción:2
[Consulta por id]
Escribe el id:
2
>> Id: 2
>> Número: 36
>> Usuario: Maria
>> Password: 009GT2b
>> Máquina: pc
>> Sistema: linux
>> Área: investigacion
>> Ip: 148.215.24.36
>> No_bien: 7767
Búsqueda realizada
******* Menu *******
1. Insertar datos
2. Consultar datos por id
3. Consultar total de datos
4. Actualizar datos por id
5. Eliminar datos por id
6. Salir
*******************************
Escoge una opción:
Dao2.groovy