210 likes | 340 Views
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.
E N D
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 • 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
Campo, Atributo, Columna Registro, Fila Modelo Relacional (Tablas)
Tabla Clave Relación Modelo Relacional (Relaciones)
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
Introducción a SQL • Recuperar información SELECT [ALL | DISTINCT] <seleccion> FROM <tablas> WHERE <condiciones de seleccion> [ORDER BY <columna> [ASC | DESC] [,<columna> [ASC | DESC]]...] • Almacenar información INSERT INTO <nombre tabla> [(<nombre columna> [,<nombre columna>]...)] VALUES (<expresion> [,<expresion>]...) • Eliminar datos DELETE FROM <nombre tabla> WHERE <condicion busqueda> • Actualizar datos UPDATE <nombre tabla> SET <nombre columna> = ( <expresion> | NULL ) [, <nombre columna> = ( <expresion> | NULL )]... WHERE <condicion busqueda>
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
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 ODBC Driver Manager 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 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
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 • 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); }
Connection prepareStatement prepareCall createStatement subclasses subclasses Statement PreparedStatement CallableStatement Data Types executeQuery executeQuery executeQuery getXXX getMoreResults getResultSet ResultSet JDBC 3.0 API
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
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
Acceso a Bases de Datos con Java JDBC 01 de Abril de 2004 Fernando Alonso Blázquez