1. ESCUELA PROFESIONAL DE
INGENIERÍA DE SISTEMAS Y TELEMÁTICA
JDBC
ÁREA : Desarrollo de Software I.
DOCENTE : Ing. Marco Aurelio Porro Chulli.
ESTUDIANTES : . Ocaña Bueno Lisbeth.
. Herrera Silva Carlos Jhónatan.
CICLO : V
GRUPO : “A”
2.
3. JDBC (JAVA DATABASE CONNECTIVITY):
• CAPA DE ACCESO DE DATOS:
• Definición:
Una capa de acceso a datos o DAL (del inglés data access layer)
en los programas informáticos, es una capa de un programa
informático que proporciona acceso simplificado a los datos
almacenados en el almacenamiento persistente de algún tipo, tal
como una entidad-relación de base de datos. Este acrónimo se
usa predominantemente en entornos Microsoft ASP.NET.
4. Por ejemplo, el DAL podría devolver una referencia al objeto (en
términos de programación orientada a objetos) completo con sus
atributos en lugar de un registro de campos de una tabla de la base
de datos. Esto permite que los módulos del cliente (o usuario) se
crearan con un mayor nivel de abstracción. Este tipo de modelo
puede ser implementado mediante la creación de una clase de
métodos de acceso a datos que hacen referencia directamente a un
conjunto correspondiente de procedimientos almacenados de base
de datos. Otra aplicación potencial podría recuperar o escribir
registros hacia o desde un sistema de archivos. El DAL esconde esa
complejidad del almacén de datos subyacente del mundo externo.
5. Componentes de la capa de acceso a datos:
La capa de acceso a datos tiene dos tipos fundamentales de componentes:
Componentes de lógica de acceso a datos. Estos presentan una interfaz a la capa de negocio que
abstrae de la forma en que se acceden a los datos almacenados, haciendo a la aplicación más fácil
de configurar y mantener.
Componentes utilitarios y auxiliares. Consisten en librerías especializadas o APIs que permiten
acceder, manipular o transformar los datos dentro de los componentes de lógica de acceso a datos.
Por lo general son suministrados por el fabricante del gestor de base de datos (Oracle, IBM, etc.)
6. Problemas comunes en el diseño de la capa de acceso a datos:
Categoría Problemas comunes
BLOB Almacenamiento incorrecto de objetos binarios de gran tamaño como videos,
fotos o archivos de datos en la base de datos en vez de en el sistema de
archivos
Uso incorrecto del tipo BLOB en la base de datos
Búsqueda y manipulación de datos BLOB
Ejecución por lotes Fallos al utilizar la ejecución por lotes para reducir el tráfico en la base de
datos
Tratamiento de los bloqueos cuando se ejecutan procesos por lotes durante
mucho tiempo
Fallo al elegir las ventanas horarias para tratar la base de datos con procesos
por lotes
Conexiones Configuración incorrecta del pool de conexiones
Fallos a la hora de manejar timeouts de conexiones y desconexiones
Ejecutar transacciones que abren múltiples conexiones
Mantener las conexiones abiertas durante períodos de tiempo excesivos
7. Formato de datos Elección del formato incorrecto para los datos
Error al elegir el tipo de serialización
No mapear objetos contra las tablas del gestor de base de datos
Tratamiento de excepciones/
errores
No tratar las excepciones de datos
Fallo al no grabar en el log las excepciones críticas de acceso a datos
Consultas Usar concatenación de cadenas a la hora de construir consultas
Mezclar las consultas con la lógica de negocio
No optimizar la base de datos para ejecutar consultas (no crear por ejemplo los índices
necesarios o acceder por columnas que no son índice)
Procedimientos almacenados No pasar correctamente los parámetros a los procedimientos almacenados
Implementar lógica de negocio en procedimientos almacenados
No considerar el impacto de sentencias SQL dinámicas en cuanto a rendimiento, seguridad y
mantenimiento de la aplicación
Transacciones Usar el nivel correcto de aislamiento
Utilizar bloqueos exclusivos que pueden provocar contención y dead-locks
Permitir que transacciones de larga duración bloqueen el acceso a los datos
Validación Fallo al no validar los datos contra los tipos de campo
No tratar valores tipo NULL
No filtrar caracteres inválidos
XML No considerar como tratar datos XML muy grandes
Fallo al validar entradas XML utilizando esquemas
8. • Conectar tus aplicaciones Java a un servidor de bases de
datos es imprescindible para la funcionalidad de una
solución de Software. Al igual que Sql
server y C#, Mysql y Java necesitan de una interfaz que
proporcione las clases necesarias para gestionar una
conexión.
• Para comprender el funcionamiento de este enlace
comenzaremos explicando cómo adherir el API de
conexión a nuestros IDEs (en este caso veremos cómo
hacerlo con Netbeans y Eclipse), luego implementaremos
el código para abrir la conexión. En seguida veremos
cómo ejecutar comandos y al finalizar estudiaremos
la ejecución de procedimientos almacenados.
CONFIGURACIÓN
DE CONEXIÓN BD
CON NETBEANS:
9. • Es un conjunto de interfaces relacionadas que
permiten realizar una conexión de un servidor de
bases de datos a una aplicación Java. Normalmente
se le denomina JDBC (Java Database Connectivity).
La idea es usar un Driver que gestione el acceso a
un servidor Mysql, y así abrir la conexión con la
intención de ejecutar comandos en la base de
datos.
• NetBeans es una plataforma para el desarrollo de
aplicaciones de escritorio usando Java y a un
Entorno integrado de desarrollo (IDE) desarrollado
usando la Plataforma NetBeans.
¿Qué es el
API De
Conexión?
10. JAVA DATABASE CONNECTIVITY(JDBC):
Definición:
Java Database Connectivity, más conocida por sus siglas JDBC, es una API (Interfaz de programación de
aplicaciones) que permite la ejecución de operaciones sobre bases de datos desde el lenguaje de
programación Java, independientemente del sistema operativo donde se ejecute o de la base de datos a la
cual se accede, utilizando el dialecto SQL del modelo de base de datos que se utilice.
JDBC es un API (Application programming interface) que describe o define una librería estándar para acceso
a fuentes de datos, principalmente orientado a Bases de Datos relacionales que usan SQL (Structured Query
Language). JDBC no sólo provee un interfaz para acceso a motores de bases de datos, sino que
también define una arquitectura estándar, para que los fabricantes puedan crear los drivers que permitan a
las aplicaciones java el acceso a los datos.
11. Tipos de JDBC:
Existen 4 tipos de driver JDBC que se detallan a continuación.
Tipo 1:
Los controladores de tipo 1 son controladores "puente". Utilizan otra
tecnología, como por ejemplo, ODBC (Open Database Connectivity), para
comunicarse con la base de datos. Esto representa una ventaja, ya que
existen controladores ODBC para muchas plataformas RDBMS (sistemas de
gestión de bases de datos relacionales). Se emplea la interfaz Java nativa
(JNI) para llamar a funciones ODBC desde el controlador JDBC.
Tipo 2:
Los controladores de tipo 2 utilizan una API nativa para comunicarse con un
sistema de base de datos. Se utilizan métodos Java nativos para invocar las
funciones de API que realizan operaciones de base de datos. Los
controladores de tipo 2 son generalmente más rápidos que los
controladores de tipo 1.
12. Tipo 3:
Estos controladores utilizan un protocolo de red y middleware para comunicarse con un servidor.
A continuación, el servidor convierte el protocolo a llamadas de función DBMS específicas de
DBMS.
Tipo 4:
El controlador de tipo 4 utiliza Java para implementar un protocolo de red de proveedores de
DBMS. Puesto que los protocolos son generalmente de propiedad, los proveedores DBMS son
generalmente las únicas empresas que suministran un controlador JDBC de tipo 4.
APLICACIONES JDBC:
• La escritura de una aplicación JDBC tiene mucho en común con la escritura de una aplicación
SQL en cualquier otro lenguaje.
• En general, es necesario que realice las acciones siguientes:
• Acceda a los paquetes de Java™ donde residen los métodos JDBC.
• Declare variables para enviar datos a tablas de DB2 o recuperar datos de ellas.
• Conecte con una fuente de datos.
• Ejecute sentencias de SQL.
• Trate los errores y avisos de SQL.
• Desconecte de la fuente de datos.
13. USO DEL JDBC EN APLICACIONES JAVA:
JDBC es usado para enviar comandos SQL hacia una base de datos relacional, que puede
ser Oracle, Infomix, SyBase, etc.
¿Qué hace JDBC?
Establece una conexión con una BD
Envía sentencias SQL
Procesa los resultados.
EJEMPLOS JDBC:
Se asume que se tiene instalado una DBMS Oracle 8i (versión 8.1.6) y que se puede
conectar usando el driver de JDBC.
Brevemente estos ejemplos muestran cómo conectarse a la Base de Datos y usar
sentencias SQL simples como "select", "insert", "update" y "delete".
Algunos ejemplos simples:
driver_ver.java: Despliega la versión del driver.
driver_check.java: Chequea si corren los drivers correctamente.
tab_sel.java Select: a una tabla.
tab_upd.java: Modifica registros en una tabla.
tab_del.java: Borra registros de una tabla.
tab_ins.java: Inserta registros hacia una tabla.
tabprep_upd.java: Como usar una sentencia de preparación con un "update".
14. CONCLUCIONES:
La conectividad de base de datos de Java, conocida por sus siglas JDBC, es
un API (Interfaz de programación de aplicaciones) que permite la ejecución de
operaciones sobre bases de datos desde el lenguaje de programación Java,
independientemente del sistema operativo donde se ejecute o de la base de
datos a la cual se accede, utilizando el dialecto SQL del modelo de base de datos
que se utilice.
El API de JDBC se presenta como una colección de interfaces Java y métodos de
gestión de manejadores de conexión hacia cada modelo específico de base de
datos.
Un controlador o driver JDBC es un componente de software que permite a las
aplicaciones escritas en Java interactuar con una base de datos.
El controlador JDBC ofrece la conexión a la base de datos e implementa el
protocolo para la transferencia de las consultas y resultados entre el cliente
(aplicación) y la base de datos.