Este documento presenta una introducción a la conectividad de bases de datos con Java usando JDBC. Explica los conceptos clave de sistemas de gestión de bases de datos, el modelo relacional y SQL. Luego describe cómo JDBC permite establecer conexiones con bases de datos y ejecutar consultas SQL desde Java, utilizando la interfaz Connection para conectarse y Statement para enviar consultas. Finalmente, incluye ejemplos de código JDBC simples que se conectan a una base de datos Access y ejecutan consultas.
1. FACULTAD DE INGERIERIA
CARRERA: INGENIERIA DE SISTEMAS Y
TELEMATICA
DOCENTE: MARCO AURELIO PORRO CHULLI
ASIGNATURA: LABORATORIO DE PROGRAMACION
II
CICLO: V
AULA: 403
INTEGRANTE: DIANA TAPIA VERA
2. Acceso a Bases de
Datos con Java
JDBC
19 de septiembre 2017
3. 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
6. 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>
7. 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
8. 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
9. 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
11. 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
12. 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);
}
14. 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
15. Un ejemplo
Para crear el Stored Procedure
String crearSP = “create
prodcedure SHOW_SUPPLIERS”+
“ as ”+
“select SUPPLIERS.SUP_NAME,
COFFEES.COF_NAME”+
“from SUPPLIERS, COFFEES
”+
“where SUPPLIERS.SUP_ID =
COFFEES.SUP_ID”