Fernando Alonso Blázquez
Acceso a Bases de Datos con
Java
JDBC01 de Abril de 2004
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
Modelo Relacional (Tablas)
Campo, Atributo, Columna
Registro, Fila
Modelo Relacional (Relaciones)Tabla
Relación
Clave
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ó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>
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
ODBC Driver Manager
ODBC Driver
ODBC Database
Data Source Name (DSN)
ODBC Driver
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
Controladores (Drivers) 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);}
JDBC 3.0 API
subclassessubclasses
Connection
CallableStatementPreparedStatementStatement
ResultSet
Data Types
createStatement prepareStatement prepareCall
executeQuery
executeQuery executeQuery
getXXX getMoreResultsgetResultSet
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
Fernando Alonso Blázquez
Acceso a Bases de Datos con
Java
JDBC01 de Abril de 2004
Top Related