Explicacion metodologia 3 capas y base de datos, proyecto de ejemplo jsp
1. Dado el proyecto bd_cumpleaños revisar la estructuración del programa para
identificar el proceso de conexión a la Base de Datos, Almacenar y consultar
registros dentro de la misma.
CONFORMACION LÓGICA DEL PROYECTO
El proyecto se realiza con la metodología programación 3 capas, conformado por
CAPA DAL, CAPA BL, CAPA GUI.
Capa DAL (Data Access Layer) Capa de Acceso a Datos: En esta capa se
realiza el proceso de conexión a la base de Datos.
Dentro de este paquete se encuentran dos clases:
Conexión : Esta clase permite realizar la conexión a la BD, se utiliza la librería
SQL de Java por medio del siguiente esquema
SQL: Esta clase permite realizar la respectiva conexión a la base de datos y
establecer métodos de consulta a la Base de Datos por medio de un Statement, el
resultado de la consulta se almacena en un Resulset y se vacía el contenido del
resulset en un vector, para mostrarlo en un JTable.
2. EXPLICACION DE OBJETOS Y METODOS PARA CONEXIÓN
Es necesario importar el paquete java.sql
Class.forName(“com.mysql.jdbc.Driver”); Con esta instrucción cargamos
el driver de conexión a la base de datos en MySQL. Si somos algo curiosos,
podemos notar que dentro del conector (en mi caso mysql-connector-java-
5.1.5-bin.jar), se encuentra el archivo Driver.class dentro de las carpetas
com/mysql/jdbc.
DriverManager.getConnection Luego de cargar el Driver, es necesario
crear la conexión a la base de datos. Para ello usamos el método
getConnection de la clase DriverManager (que implementa la clase
Driver). A dicho método le pasamos como parámetro una URL de conexión
a la base de datos, que se compone, por lo general, de tres partes
separados por “:”, jdbc:nombre_dbms:datos_de_conexion. Aunque esto
depende del tipo de DMBS y conector que usemos. (Para más detalles de
la URL, ver la documentación específica para el conector).
Este método además, devuelve un objeto Connection que usaremos para
crear y ejecutar sentencias SQL, sobre la base de datos.
conexion.createStatement(); este método crea/decuelve un objeto
Statement, con el cual podremos ejecutar sentencias en la base de datos.
instruccion.executeQuery(); este método sirve para ejecutar consultas
sobre la base de datos (para inserción y modificación de datos usar
executeUpdate()). Recibe como parametro una sentencia SQL, y devuelve
un objeto ResultSet que contendrá los datos de la consulta.
while(tabla.next()) esto nos permitirá iterar indefinidamente, mientras en el
objeto ResultSet hayan más registros.
o Posteriormente, dentro del while, podemos obtener los datos de la
fila actual con los métodos getInt(int) y getString(int) de ResultSet.
A dichos métodos le pasamos como parametro el indice de la
columna que queremos obtener.
Es importante tener en cuenta que en dichos métodos, si una tabla
tiene 3 columnas, las referenciamos como 1, 2 y 3. No como en otros
lenguajes (PHP por ejemplo), en los que los índices serían 0, 1, 2.
Las excepciones que manejamos son básicamente:
ClassNotFoundException, que se lanzará por lo general cuando el
programa no encuentre el Driver. SQLException, que se lanzará cuando
hayan errores a nivel de SQL (errores al insertar datos, errores de sintaxis
en las consultas, etc.).
3. Capa BL (BussinesLayer) Capa de Negocio: En esta capa se especifica(n) la(s)
Clase(s) que implementan la lógica del negocio (Indica programación para la
comunicación de el entorno grafico y la base de datos. Para lograr esto es
necesario hacer lo siguiente:
Para recoger los datos del entorno grafico es necesario definir un objeto.
En esta capa se define una clase llamada bean, donde se especifican los
atributos, constructor y encapsulamiento del objeto en este caso una persona con
el código, Nombre y Apellido.
De esta forma podremos almacenar los datos provenientes de la GUI
momentáneamente en el bean y luego ingresarlos en la BD.
Para ello también se define dentro de la clase bean del paquete BL los método
que determinan las operaciones a realizar dentro de la BD, en este caso grabar los
datos de una persona, el método instancia una conexión de la capa DAL, se define
una cadena para almacenar la consulta SQL con los datos del bean y luego se
invoca el método ejecutar de la capa DAL como parámetro la cadena con la
instrucción SQL.
Como se ve a continuación:
public String GrabarPersona()
{
conexionobjmod=new conexion();
String cad="insert into persona values('"+this.getCodigo()+"','"+this.getNombre()+
"','"+this.getApellido()+"')";
returnobjmod.Ejecutar(cad);
}
4. Capa GUI (GraphicsUser Interfaz) Interfaz grafica de Usuario : dentro de este
paquete se trabaja la interfaz grafica desarrollada en html ,se desarrolla formulario
con campos de texto y listas .