Download JDBC-tr
Document related concepts
no text concepts found
Transcript
Acceso a Bases de Datos con Java JDBC 23 de Febrero de 2011 Í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 [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> Í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 subclasses Statement prepareCall subclasses PreparedStatement CallableStatement Data Types executeQuery executeQuery executeQuery getXXX ResultSet 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: – FirstJDBC.java • Ejemplo con excepciones y MetaData: – ResultAppSQL.java