No Slide Title

Download Report

Transcript No Slide Title

Acceso a Bases de Datos con Java

JDBC

03 de Mayo de 2006

Índice

• • • • • • 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

Índice

• • • • • •

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

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

Modelo Relacional (Tablas)

Campo, Atributo, Columna Registro, Fila

Modelo Relacional (Relaciones)

Tabla Clave Relación

Índice

• • • • • • 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

Introducción a SQL

• Recuperar información •

SELECT WHERE

[

ALL

|

DISTINCT

]

FROM

[

ORDER BY

[

ASC

[, [

ASC

|

DESC

]]...] |

DESC

] Almacenar información •

INSERT INTO

[( [,]...)]

VALUES

( [,]...) Eliminar datos •

DELETE FROM

Actualizar datos

WHERE

UPDATE

SET

= ( | NULL ) [, = ( | NULL )]... WHERE

Índice

• • • • • • 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

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 Data Source Name (DSN) ODBC Driver Manager ODBC Driver ODBC Driver ODBC Database

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

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 interfaz 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 interfaz natural de Java

Índice

• • • • • • 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

Controladores (Drivers) JDBC

Índice

• • • • • • 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

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

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);

JDBC 3.0 API

Connection

createStatement prepareStatement prepareCall

Statement

subclasses

PreparedStatement

subclasses

CallableStatement

executeQuery

Data Types

executeQuery getXXX

ResultSet

executeQuery getMoreResults getResultSet

Índice

• • • • • • 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

Empezando a trabajar con JDBC

• • • • Base de datos en formato Access – Base de Datos: Libros.mdb

– – Tabla: Datos Campos: Código, Titulo, Autor Creación de un Data Source Name (DSN) Ejemplo de aplicación JDBC simple Ejemplo con excepciones y MetaData