Beruflich Dokumente
Kultur Dokumente
4
Características
JDBC ofrece igual funcionalidad que ODBC (Open
Database Connectivity) de Microsoft.
Problema: ODBC tiene interfaz C.
La gran mayoría de BD disponen ya de drivers para
trabajar con ODBC.
En el JDK se suministra un puente JDBC-ODBC para
convertir llamadas JDBC a ODBC y poder acceder así a
BDs que ya tienen un driver ODBC mediante JDBC.
En el caso de hacerlo así, hay que registrar la BD
correspondiente para ser usada con ODBC
5
Primavera – 2006
Conectividad ODBC
ODBC – Open DataBase Connectivity
Interfaz de aplicaciones (API) para acceder a datos en
sistemas gestores de bases de datos utilizando SQL
Aplicación Cliente
Data Source Name (DSN)
ODBC API
ODBC Driver
ODBC Driver
ODBC
Database
6
Conectividad JDBC-ODBC
Se convierten todas las llamadas JDBC a ODBC y se
realiza la conversión correspondiente de los resultados
Aplicación Java
API JDBC
Puente JDBC-ODBC
API ODBC
Driver ODBC
BD
7
Conectividad JDBC-ODBC
Para poder establecer el puente JDBC ODBC se debe
tener creado una fuente de datos (DSN).
DSN( Data Source Name) Este Origen de datos permite
indicar cual es el driver a utilizar y cual es el archivo.
8
Configuración DSN
Configuración: Panel de control Herramientas
administrativas
9
Configuración DSN
Configuración: Orígenes de datos
10
Configuración DSN
Configuración: Asociar Base de Datos
11
7 pasos básicos para programar en
JDBC
12
1. Cargar driver
Lo primero es hacer una llamada al Driver JDBC-ODBC
para cargarlo.
13
2. Definir la URL
Una vez cargado el driver hay que definir la dirección
de la base de datos con la cual se va a trabajar.
15
4. Crear una orden SQL
El siguiente paso requiere la creación de un objeto de la
clase Statement. Él se encargará de enviar la consulta
en SQL a la base de datos.
Es necesaria una instancia activa de una conexión para
crear el objeto Statement
16
4. Crear una orden SQL
Las ordenes de SQL son String
17
5. Ejecutar una orden SQL
JDBC devuelve los resultados en un objeto de la clase
ResultSet
18
6. Procesar los resultados
Tiene un método next() para moverse a la siguiente
tupla de registro, cada invocación al método next()
mueve el cursor a la siguiente fila
Se utiliza metodos getXX() para obtener String, int,
float, etc.
Por
nombre
de la
columna
Por
número
de la
columna
19
7. Cerrar la conexión
Abrir una conexión es caro así que debe posponerse el
cierre de la conexión si se van a ejecutar más consultas
a la misma base de datos
20
7. Cerrar la conexión
Abrir una conexión es caro así que debe posponerse el
cierre de la conexión si se van a ejecutar más consultas
a la misma base de datos
21
En Oracle, con el driver nativo
Todo en uno
Comandos Básicos de SQL
Crear Tabla
CREATE TABLE tabla
( codigo int,
nombre char(20),
estado char(2)
)
Borrar Tabla
DROP TABLE tabla
• Insertar Registro
INSERT INTO tabla
VALUES (valor1, valor2,…, valorN)
23
Comandos Básicos de SQL
Actualizar Registros
UPDATE tabla
SET campo1=valor1, campo2=valor2,…, campoN=valorN
WHERE criterio
Eliminar Registros
DELETE FROM tabla
WHERE criterio
• Seleccionar Registros
SELECT campo1
FROM tabla
WHERE condición
24
Ejemplo Nº1
A. Crear una base de datos en access con los
siguientes datos:
Rut
Nombre
Apellido
Domicilio
Teléfono
B. Configurar el DSN.
C. Crear una pequeña aplicación en java que se
conecte a la base de datos y muestre a través de la
consola los datos incorporados
25
Ejemplo Nº 1 - Solución
26
Ejemplo Nº 1 - Solución
27
Ejemplo Nº 1 - Solución
28
Ejemplo Nº 2
A. Crear una base de datos en access con los
siguientes datos:
Nombre
Usuario
Password
B. Configurar el DSN.
29
Ejemplo Nº 2 - Solución
30
Ejemplo Nº 2 - Solución
31
Ejemplo Nº 2 - Solución
32
Ejemplo Nº 2 - Solución
33
Ejemplo Nº 2 - Solución
34
Conceptos Avanzados
35
Patrón DAO
CARACTERÍSTICAS:
Consiste en utilizar un objeto como medio de
acceso a BD.
Abstrae y encapsula las operaciones
relacionadas con el tratamiento de la base de
datos.
Modelo del Patrón DAO
Usando DataSources
Definiendo Data Sources
Definiendo Data Source oracle-ds.xml
Patrón de Diseño: Service Locator
Características:
Utilizado para abstraer toda la utilización de
JNDI y de la creación de cualquier contexto
inicial de complejo.
Encapsula la búsqueda o creación de los
objetos Home y EJB.
Proporciona un punto de control, que puede ser
llamado por múltiples clientes.
Service Locator
Modelo del patron de diseño
Ejemplo:ServiceLocator
public class ServiceLocator {
InitialContext ctx=null;
static{
try{
locator = new ServiceLocator();
}catch(Exception e){
e.printStackTrace();
}
}
public ServiceLocator(){ }