fernando alonso blázquez

21
Fernando Alonso Blázquez Acceso a Bases de Datos con Java JDBC 01 de Abril de 2004

Upload: vanna-clayton

Post on 03-Jan-2016

46 views

Category:

Documents


0 download

DESCRIPTION

Acceso a Bases de Datos con Java JDBC 01 de Abril de 2004. Fernando Alonso Blázquez. Indice. Sistemas de Gestión de la Información Modelo Relacional Introducción a SQL Conectividad ODBC / JDBC Controladores (Drivers) JDBC JDBC 3.0 API Empezando a trabajar con JDBC. Indice. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Fernando Alonso Blázquez

Fernando Alonso Blázquez

Acceso a Bases de Datos con

Java

JDBC01 de Abril de 2004

Page 2: Fernando Alonso Blázquez

Indice

• Sistemas de Gestión de la Información– Modelo Relacional

• Introducción a SQL• Conectividad

– ODBC / JDBC

• Controladores (Drivers) JDBC• JDBC 3.0 API• Empezando a trabajar con JDBC

Page 3: Fernando Alonso Blázquez

Indice

• Sistemas de Gestión de la Información– Modelo Relacional

• Introducción a SQL• Conectividad

– ODBC / JDBC

• Controladores (Drivers) JDBC• JDBC 3.0 API• Empezando a trabajar con JDBC

Page 4: Fernando Alonso Blázquez

Sistemas de Gestión de la Información

• Base de Datos– Forma de almacenamiento de información– Estructura y Datos– Modelo Relacional

• Gestor de Base de Datos– Aplicación para manipular bases de datos– Oracle, Access, ...

• SQL – Structured Query Language– Lenguaje estándar para crear, examinar y

manipular bases de datos relacionales– Permite manipular bases de datos en

diferentes sistemas que soporten el estándar

Page 5: Fernando Alonso Blázquez

Modelo Relacional (Tablas)

Campo, Atributo, Columna

Registro, Fila

Page 6: Fernando Alonso Blázquez

Modelo Relacional (Relaciones)Tabla

Relación

Clave

Page 7: Fernando Alonso Blázquez

Indice

• Sistemas de Gestión de la Información– Modelo Relacional

• Introducción a SQL• Conectividad

– ODBC / JDBC

• Controladores (Drivers) JDBC• JDBC 3.0 API• Empezando a trabajar con JDBC

Page 8: Fernando Alonso Blázquez

Introducción a SQL

• Recuperar informaciónSELECT [ALL | DISTINCT] <seleccion> FROM <tablas> WHERE <condiciones de seleccion> [ORDER BY <columna> [ASC | DESC][,<columna> [ASC | DESC]]...]

• Almacenar informaciónINSERT INTO <nombre tabla> [(<nombre columna> [,<nombre columna>]...)] VALUES (<expresion> [,<expresion>]...)

• Eliminar datosDELETE FROM <nombre tabla> WHERE <condicion busqueda>

• Actualizar datosUPDATE <nombre tabla> SET <nombre columna> = ( <expresion> | NULL )[, <nombre columna> = ( <expresion> | NULL )]... WHERE <condicion

busqueda>

Page 9: Fernando Alonso Blázquez

Indice

• Sistemas de Gestión de la Información– Modelo Relacional

• Introducción a SQL• Conectividad

– ODBC / JDBC

• Controladores (Drivers) JDBC• JDBC 3.0 API• Empezando a trabajar con JDBC

Page 10: Fernando Alonso Blázquez

Conectividad - ODBC

• ODBC – Open DataBase Connectivity– Interface de aplicaciones (API) para

acceder a datos en sistemas gestores de bases de datos utilizando SQL

Aplicación Cliente

ODBC Driver Manager

ODBC Driver

ODBC Database

Data Source Name (DSN)

ODBC Driver

Page 11: Fernando Alonso Blázquez

Conectividad - JDBC

• JDBC – Marca registrada– Java DataBase Connectivity

• API de Java para ejecutar sentencias SQL

• JDBC posibilita básicamente tres cosas:– Establecer una conexión con una base de

datos desde Java– Enviar sentencias SQL a través de dicha

conexión– Procesar los resultados

Page 12: Fernando Alonso Blázquez

JDBC vs. ODBC

• ¿Por qué no usar ODBC desde Java?– Se puede usar ODBC desde Java– Puente JDBC-ODBC

• ¿Por qué se necesita JDBC?– ODBC no es apropiado para su uso directo

desde Java porque usa una interface en C– Una traducción de la ODBC API en C a una

API en Java no sería deseable– ODBC es duro de aprender– Una API en Java como JDBC es necesaria

para conseguir una solución “puramente Java”

• JDBC API es una interface natural de Java

Page 13: Fernando Alonso Blázquez

Indice

• Sistemas de Gestión de la Información– Modelo Relacional

• Introducción a SQL• Conectividad

– ODBC / JDBC

• Controladores (Drivers) JDBC• JDBC 3.0 API• Empezando a trabajar con JDBC

Page 14: Fernando Alonso Blázquez

Controladores (Drivers) JDBC

Page 15: Fernando Alonso Blázquez

Indice

• Sistemas de Gestión de la Información– Modelo Relacional

• Introducción a SQL• Conectividad

– ODBC / JDBC

• Controladores (Drivers) JDBC• JDBC 3.0 API• Empezando a trabajar con JDBC

Page 16: Fernando Alonso Blázquez

JDBC 3.0 API

• La JDBC 3.0 API comprende 2 paquetes:– java.sql– javax.sql (añade capacidades de la parte

servidor)

• Básicamente, los pasos a seguir son:– Registrar un driver:

• Clase DriverManager– Establecer una conexión con la base de

datos:• Interface Connection

– Enviar sentencias SQL a la base de datos:• Interface Statement

– Procesar los resultados de las consultas• Interface ResultSet

Page 17: Fernando Alonso Blázquez

Utilización de JDBC 3.0 API

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

String url = ″jdbc:odbc:wombat″;Connection con = DriverManager.getConnection(url);

Statement stmt = con.createStatement();

ResultSet rs = stmt.executeQuery(″SELECT a, b, c FROM Table2″);

While(rs.next()){ int i = rs.getInt(a); String s = rs.getString(b); Float f = rs.getFloat(c); System.out.println(ROW= + i + + s + + f);}

Page 18: Fernando Alonso Blázquez

JDBC 3.0 API

subclassessubclasses

Connection

CallableStatementPreparedStatementStatement

ResultSet

Data Types

createStatement prepareStatement prepareCall

executeQuery

executeQuery executeQuery

getXXX getMoreResultsgetResultSet

Page 19: Fernando Alonso Blázquez

Indice

• Sistemas de Gestión de la Información– Modelo Relacional

• Introducción a SQL• Conectividad

– ODBC / JDBC

• Controladores (Drivers) JDBC• JDBC 3.0 API• Empezando a trabajar con JDBC

Page 20: Fernando Alonso Blázquez

Empezando a trabajar con JDBC

• Base de datos en formato Access– Base de Datos: Libros.mdb– Tabla: Datos– Campos: Codigo, Titulo, Autor

• Creación de un Data Source Name (DSN)

• Ejemplo de aplicación JDBC simple• Ejemplo con excepciones y MetaData

Page 21: Fernando Alonso Blázquez

Fernando Alonso Blázquez

Acceso a Bases de Datos con

Java

JDBC01 de Abril de 2004