La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Fernando Alonso Nicolás Serrano Acceso a Bases de Datos con Java JDBC 01 de Abril de 2008.

Presentaciones similares


Presentación del tema: "Fernando Alonso Nicolás Serrano Acceso a Bases de Datos con Java JDBC 01 de Abril de 2008."— Transcripción de la presentación:

1 Fernando Alonso Nicolás Serrano Acceso a Bases de Datos con Java JDBC 01 de Abril de 2008

2 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

3 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

4 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 –DBase, Access, Oracle, SQL Server, Derby, MySQL, PostgreSQL,... 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

5 Modelo Relacional (Tablas) Campo, Atributo, Columna Registro, Fila

6 Modelo Relacional (Relaciones) Tabla Relación Clave

7 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

8 Introducción a SQL Recuperar información SELECT [ALL | DISTINCT] FROM WHERE [ORDER BY [ASC | DESC] [, [ASC | DESC]]...] Almacenar información INSERT INTO [( [, ]...)] VALUES ( [, ]...) Eliminar datos DELETE FROM WHERE Actualizar datos UPDATE SET = ( | NULL ) [, = ( | NULL )]... WHERE

9 SQL con ExecuteSQL java ExecuteSQL prueba "Select * from Productos " CREATE TABLE FIRSTTABLE (ID INT PRIMARY KEY, NAME VARCHAR(12)); INSERT INTO FIRSTTABLE VALUES (10,'TEN'); INSERT INTO FIRSTTABLE VALUES (20,'TWENTY'); INSERT INTO FIRSTTABLE VALUES (30,'THIRTY'); SELECT * FROM FIRSTTABLE;

10 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

11 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

12 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

13 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

14 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

15 Controladores (Drivers) JDBC

16 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

17 JDBC 3.0 API La JDBC 3.0 API comprende 2 paquetes: –java.sqljava.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

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

19 JDBC 3.0 API subclasses Connection CallableStatementPreparedStatementStatement ResultSet Data Types createStatement prepareStatementprepareCall executeQuery getXXX getMoreResults getResultSet

20 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

21 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 simpleEjemplo Ejemplo con excepciones y MetaDataEjemplo

22 Derby: base de datos en Java Cloudscape de IBM es el proyecto Derby en Apache Instalación –Directorio javadb set DERBY_HOME=Q:\Java\javadb set PATH=%DERBY_HOME%\bin;%PATH% Ejemplo de base de datos –%DERBY_HOME%\demo\programs\toursdb\*.sql Aplicación de utilidad: ij –Set classpath=%DERBY_HOME%\lib\derby.jar

23 SQL con Derby Ejemplo de utilización con ij: >IJ ij version 10.3 ij> CONNECT 'jdbc:derby:firstdb;create=true'; ij> CREATE TABLE FIRSTTABLE (ID INT PRIMARY KEY, NAME VARCHAR(12)); 0 rows inserted/updated/deleted ij> INSERT INTO FIRSTTABLE VALUES (10,'TEN'),(20,'TWENTY'),(30,'THIRTY'); 3 rows inserted/updated/deleted ij> SELECT * FROM FIRSTTABLE; ID |NAME ------------------------ 10 |TEN 20 |TWENTY 30 |THIRTY 3 rows selected ij>run 'ToursDB_schema.sql'; ij>run 'loadTables.sql';

24 Fernando Alonso Nicolás Serrano Acceso a Bases de Datos con Java JDBC 01 de Abril de 2008


Descargar ppt "Fernando Alonso Nicolás Serrano Acceso a Bases de Datos con Java JDBC 01 de Abril de 2008."

Presentaciones similares


Anuncios Google