fundamentals of the java programming language (sl-110) capÍtulo 15: conectividad con bases de datos...

14
FUNDAMENTALS OF THE JAVA PROGRAMMING LANGUAGE (SL-110) CAPÍTULO 15: CONECTIVIDAD CO BASES DE DATO g. Ronald Criollo

Upload: veronica-lago

Post on 31-Dec-2014

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: FUNDAMENTALS OF THE JAVA PROGRAMMING LANGUAGE (SL-110) CAPÍTULO 15: CONECTIVIDAD CON BASES DE DATOS Ing. Ronald Criollo

FUNDAMENTALS OF THE JAVA

PROGRAMMING LANGUAGE(SL-110)CAPÍTULO 15: CONECTIVIDAD CON

BASES DE DATOSIng. Ronald Criollo

Page 2: FUNDAMENTALS OF THE JAVA PROGRAMMING LANGUAGE (SL-110) CAPÍTULO 15: CONECTIVIDAD CON BASES DE DATOS Ing. Ronald Criollo

Sistemas de Gestión de la Información Introducción a SQL Conectividad (ODBC/JDBC) Controladores JDBC JDBC API Ejemplo

Page 3: FUNDAMENTALS OF THE JAVA PROGRAMMING LANGUAGE (SL-110) CAPÍTULO 15: CONECTIVIDAD CON BASES DE DATOS Ing. Ronald Criollo

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, MySQL ...

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 4: FUNDAMENTALS OF THE JAVA PROGRAMMING LANGUAGE (SL-110) CAPÍTULO 15: CONECTIVIDAD CON BASES DE DATOS Ing. Ronald Criollo

Campo, Atributo, Columna

Registro, Fila

Page 5: FUNDAMENTALS OF THE JAVA PROGRAMMING LANGUAGE (SL-110) CAPÍTULO 15: CONECTIVIDAD CON BASES DE DATOS Ing. Ronald Criollo

Tabla

Relación

Clave

Page 6: FUNDAMENTALS OF THE JAVA PROGRAMMING LANGUAGE (SL-110) CAPÍTULO 15: CONECTIVIDAD CON BASES DE DATOS Ing. Ronald Criollo

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 7: FUNDAMENTALS OF THE JAVA PROGRAMMING LANGUAGE (SL-110) CAPÍTULO 15: CONECTIVIDAD CON BASES DE DATOS Ing. Ronald Criollo

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 8: FUNDAMENTALS OF THE JAVA PROGRAMMING LANGUAGE (SL-110) CAPÍTULO 15: CONECTIVIDAD CON BASES DE DATOS Ing. Ronald Criollo

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 9: FUNDAMENTALS OF THE JAVA PROGRAMMING LANGUAGE (SL-110) CAPÍTULO 15: CONECTIVIDAD CON BASES DE DATOS Ing. Ronald Criollo

ODBC está escrito en C el gestor de drivers ODBC y el propio driver han de ser

instalados en todos los ordenadores JDBC está escrito en Java y permite obtener aplicaciones

completas en Java (100% pure java) usando ODBC en BD grandes, el rendimiento puede disminuir

al convertir llamadas Java a C y viceversa

Page 10: FUNDAMENTALS OF THE JAVA PROGRAMMING LANGUAGE (SL-110) CAPÍTULO 15: CONECTIVIDAD CON BASES DE DATOS Ing. Ronald Criollo
Page 11: FUNDAMENTALS OF THE JAVA PROGRAMMING LANGUAGE (SL-110) CAPÍTULO 15: CONECTIVIDAD CON BASES DE DATOS Ing. Ronald Criollo

La JDBC 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 12: FUNDAMENTALS OF THE JAVA PROGRAMMING LANGUAGE (SL-110) CAPÍTULO 15: CONECTIVIDAD CON BASES DE DATOS Ing. Ronald Criollo

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 13: FUNDAMENTALS OF THE JAVA PROGRAMMING LANGUAGE (SL-110) CAPÍTULO 15: CONECTIVIDAD CON BASES DE DATOS Ing. Ronald Criollo

subclassessubclasses

Connection

CallableStatementPreparedStatementStatement

ResultSet

Data Types

createStatement prepareStatement prepareCall

executeQuery

executeQuery executeQuery

getXXX getMoreResultsgetResultSet

Page 14: FUNDAMENTALS OF THE JAVA PROGRAMMING LANGUAGE (SL-110) CAPÍTULO 15: CONECTIVIDAD CON BASES DE DATOS Ing. Ronald Criollo

Base de datos en formato Access Base de Datos: Libros 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