viernes, 21 de marzo de 2014

AUTENTICACIÓN DE USUARIOS USANDO PATRÓN MVC



1. En el SGBD MySQL, Creamos una base de datos de nombre autenticacion, con los siguientes campos. 

2. Ahora en la base de datos autenticacion, se debe tener la tabla usuarios.
 
Debemos insertar dos usuarios, uno como administrador y otro como cliente.

INSERT INTO USUARIOS(apellidos, nombres, usuario, password, autorizacion)
Values (‘Saavedra Rojas’, ‘juan ’, ‘jsaavedra’, AES_ENCRYPT(‘123’, ‘llave’, ‘admision’);

INSERT INTO USUARIOS(apellidos, nombres, usuario, password, autorizacion)
Values (‘Saavedra Salas’, ‘juan ’, ‘jsaavedra’, AES_ENCRYPT(‘123’, ‘llave’, ‘admision’);

* Tener en cuenta que la contraseña debe quedar encriptada, para ello usamos la función AES_ENCRYPT, y para desencriptar AES_DECRYPT. Tener en cuenta el tipo de dato que almacena.

select * from usuario;

5. Ahora si queremos saber cuál es el valor del atributo password, que se encuentra almacenado en la tabla usuarios.
 
 6. En caso que desee usar un procedimiento almacenado esta sería la estructura.

7. Ahora una vez que hemos creado la base de datos, tabla y haber insertado los registros. Procedemos a crear un proyecto web en NetBeans, de nombre PatronMVC

este tutorial continuara
 



jueves, 20 de marzo de 2014

Configuración de SQL dinámico Mybatis



Construya una Aplicación Java con MyBatis que realice sentencias SQL dinámicas de la tabla TAB_CLIENT.

Para ello, debe utilizar Mappers con Interfaces y XML.



Actividades

Importar el proyecto Laboratorio2_5 (basado en laboratorio 2.3) y revisar referencia correcta de librerías requeridas.
 


Tabla relacionada con varias tablas: TAB_CLIENT

1.     Búsqueda de Clientes

·         Caso 1: Definir condicionales IF en sentencia SQL

ClienteMapper.xml


·         Caso 2: Definir condicionales Choose (when / otherwise) en sentencia SQL
 
ClienteMapper.xml



1.     Probar la aplicación en modo depuración.

ClienteTest.java

En cada prueba alternar el seteo de valores de campos para verificar la generación del SQL dinámico en cada método según el siguiente código: