conexion con java

33
1 Prof. : Ing. Alberto Moreno Facultad de Ingeniería de sistemas UTP “Lenguajes de programación I” 3ª Unidad JDBC (Java Database Conectivity)

Upload: alberto

Post on 04-Aug-2015

144 views

Category:

Documents


2 download

TRANSCRIPT

1

Prof. : Ing. Alberto Moreno

Facultad de Ingeniería de sistemas

UTP

“Lenguajes de programación I”

3ª UnidadJDBC

(Java Database Conectivity)

2

¿Qué es JDBC?JDBC es el acrónimo de Java DataBase Conectivity

Es una especificación de un conjunto de clases y métodos de operación (API) que permiten a cualquier programa Java acceder a sistemas de bases de datos.

El api JDBC lo podemos encontrar en los paquetes java.sql y javax.sql y sirven para:

establecer conexiones con bases de datos

enviar sentencias SQL a dichas BDs

procesar los resultados

JDBC permite ejecutar instrucciones SQL (Structured Query Language: Lenguaje estructurado de consultas)

3

Arquitectura básica

Utiliza drivers para conectarse a distintas base de datos: SQL Server, Oracle, mySQl, posgreSQL, Access, etc.

4

Características

El JDBC provee al desarrollador la capacidad de unirse o conectarse a los sistemas de bases de datos relacionales.

JDBC “normaliza” la mayor parte de las operaciones (las hace independientes de la base de datos utilizada y por tanto portables).

JDBC no comprueba que las sentencias SQL son correctas, sencillamente las pasa a la base de datos.

5

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

6

Conectividad ODBC

ODBC – Open DataBase ConnectivityInterfaz de aplicaciones (API) para acceder a datos en

sistemas gestores de bases de datos utilizando SQL

Aplicación Cliente

ODBC API

ODBC Driver

Data Source Name (DSN)

ODBC Driver

ODBCDatabase

7

Conectividad JDBC-ODBC

Se convierten todas las llamadas JDBC a ODBC y se realiza la conversión correspondiente de los resultados

API JDBC

Puente JDBC-ODBC

API ODBC

Driver ODBC

BD

Aplicación Java

8

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.

Configuración: Panel de control Herramientas administrativas

Observación: Crear una base de datos en access antes de configurar el DSN

9

Configuración DSN

Configuración: Panel de control Herramientas administrativas

10

Configuración DSN

Configuración: Orígenes de datos

11

Configuración DSN

Configuración: Asociar Base de Datos

12

7 pasos básicos para programar en JDBC

Cargar el driver de la base de datos a acceder

Definir la “URL” de la Base de Datos

Establecer la conexión

Crear una orden SQL

Ejecutarla

Procesar los resultados

Cerrar la conexión

13

1. Cargar driver

Lo primero es hacer una llamada al Driver JDBC-ODBC para cargarlo.

14

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

3. Establecer la conexión

Para solicitar una conexión a la base de datos se usa la clase DriverManager.

16

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

17

4. Crear una orden SQL

Primavera – 2006

Las ordenes de SQL son String

18

5. Ejecutar una orden SQL

Primavera – 2006

JDBC devuelve los resultados en un objeto de la clase ResultSet

19

6. Procesar los resultados

Primavera – 2006

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 número de la columna

Por nombre de la columna

20

7. Cerrar la conexión

Primavera – 2006

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

7. Cerrar la conexión

Primavera – 2006

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

22

Comandos Básicos de SQL

Primavera – 2006

Crear TablaCREATE TABLE tabla( codigo int, nombre char(20), estado char(2))

Borrar TablaDROP TABLE tabla

• Insertar RegistroINSERT INTO tabla

VALUES (valor1, valor2,…, valorN)

23

Comandos Básicos de SQL

Primavera – 2006

Actualizar RegistrosUPDATE tablaSET campo1=valor1, campo2=valor2,…, campoN=valorNWHERE criterio

Eliminar RegistrosDELETE FROM tabla

WHERE criterio

• Seleccionar RegistrosSELECT campo1

FROM tablaWHERE condición

24

Ejercicio Nº1

Primavera – 2006

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

Ejercicio Nº 1 - Solución

Primavera – 2006

26

Ejercicio Nº 1 - Solución

Primavera – 2006

27

Ejercicio Nº 1 - Solución

Primavera – 2006

28

Ejercicio Nº 2

Primavera – 2006

A. Crear una base de datos en access con los siguientes datos:

Nombre

Usuario

Password

B. Configurar el DSN.

C. Crear una pequeña

aplicación en java que simule

el ingreso de un password.

29

Ejercicio Nº 2 - Solución

Primavera – 2006

30

Ejercicio Nº 2 - Solución

Primavera – 2006

31

Ejercicio Nº 2 - Solución

Primavera – 2006

32

Ejercicio Nº 2 - Solución

Primavera – 2006

33

Ejercicio Nº 2 - Solución

Primavera – 2009