Java Data Base Connectivity
Download
Report
Transcript Java Data Base Connectivity
Java Data Base Connectivity
Enrique Pastene A.
JDBC
Objetivos
Conceptos básicos sobre bases de datos.
Realizar conexión a una base de datos.
Administrar una base de datos (objetos y
métodos básicos).
Ejemplos simples.
2
Base De Datos
Definición
Conjunto de datos relacionados.
Este conjunto tiene como objetivo el de satisfacer la
necesidad de información de algún ente.
Observación : datos distinto a información.
3
Base De Datos
La base de datos debe ser independiente de las
aplicaciones que accedan a ella.
La independencia se logra a través del módulo DBMS
(Data Base Management System).
La comunicación entre el DBMS y las aplicaciones se
realiza usando el lenguaje SQL (Structured Query
Language).
4
Base De Datos
Aplicaciones
SQL
DBMS
BD Física
5
Base De Datos
Estructura Cliente Servidor
El cliente debe tener una API (Application Program
Interface) para poder interactuar con DBMS.
El servidor deber tener el driver que reconoce a la API del
cliente.
La API más comúnmente usada es la ODBC (Open Data
Base Connectivity).
6
Base De Datos
Cliente
Aplicación
Cliente
API
ODBC
Servidor
Driver
ODBC
DBMS
BD Física
7
Base De Datos
Estructura interna
Datos organizados en ENTIDADES. Las entidades contienen
ATRIBUTOS.
Las entidades se representan mediante tablas. Las columnas
representan los atributos y las filas los registros.
La ubicación unívoca de un registro en una entidad se
realiza mediante una CLAVE PRIMARIA.
Para relacionar entidades se usan CLAVES FORANEAS.
8
Base De Datos
# PROD
NOMBRE
#BODEGA
100
SILLA
10
200
MESA
20
COMODA
30
300
400
CP
ESCRITORIO
Entidad Productos
10
CF
Entidad Bodega
# BOD
DIRE
FONO
10
SANTIAGO
3344557
20
RANCAGUA
225636
VALPARAISO
245689
30
40
IQUIQUE
454510
CP
9
JDBC - Conexión
Pasos a seguir para conectarse a una base
de datos.
1)
2)
Cargar el driver a utilizar.
Crear un objeto del tipo Connection, encargado
de la conexión.
10
JDBC - Conexión
Cargando el driver
Para cargar el driver se realiza la llamada
Class.forName("DriverXYZ");
Donde “DriverXYZ” es un string que contiene el nombre del
driver a cargar.
Por ejemplo
JDBC-ODBC : sun.jdbc.odbc.JdbcOdbcDriver
JDBC-MySQL : com.mysql.jdbc.Driver
11
JDBC - Conexión
Creando objeto tipo Connection
Este objeto se encarga de administrar la conexión.
Al objeto ‘con’ se le asigna una conexión específica, a través del
método getConnection de la clase DriverManager.
Connection con = DriverManager.getConnection(url, "myLogin", "myPassword");
Donde url es la especificación de la base de datos a usar.
La url se debe indicar de la siguiente manera :
jdbc:subprotocolo//servidor:puerto/base de datos
Para cerrar la conexión se utiliza el método close().
12
JDBC - Administración
Las sentencias SQL se pueden clasificar en actualizaciones y
consultas.
El objeto encargado de enviar las sentencias SQL al driver es del
tipo Statement.
Para enviar actualizaciones se utiliza el método executeUpdate
(implementado dentro del objeto Statement).
Para enviar consultas se utiliza el método executeQuery.
(implementado dentro del objeto Statement).
13
JDBC - Administración
Para crear un objeto del tipo Statement se debe
utilizar el método createStatement (implementado
dentro del objeto del tipo Connection)
Statement stmt = con.createStatement();
14
JDBC - Administración
Creación de tabla
stmt.executeUpdate("CREATE TABLE ALUMNOS " +
"(ROL VARCHAR(32) NOT NULL, NOMBRE VARCHAR(32) NOT NULL," +
"CARRERA VARCHAR(32), PRIMARY KEY (ROL))");
15
JDBC - Administración
Insertar registro
stmt.executeUpdate( “INSERT INTO ALUMNOS " +
"VALUES ('9821000-0', 'Armando Casas', 'Electronica')");
16
JDBC - Administración
El resultado de la consulta es recibido como un
objeto del tipo ResultSet.
Dentro del objeto ResultSet existen diferentes
métodos para extraer la información.
17
JDBC - Administración
El método next permite mover un puntero por las
distintas filas que conforman el resultado.
Para obtener la información se utiliza el método getXXX (donde
XXX es el tipo de datos a recuperar), por ejemplo getString,
getInt, getFloat, etc.
18
JDBC - Administración
Consultas
String query = "SELECT ROL, NOMBRE FROM ALUMNOS";
ResultSet rs = stmt.executeQuery(query);
while (rs.next()) {
String r = rs.getString("ROL");
String n = rs.getString("NOMBRE");
System.out.println(r + " " + n);
}
Salida : shell> 9821000-0 Armando Casas
19
JDBC - Aplicaciones
Para ejecutar aplicaciones dirigirse a
http://alumnos.elo.utfsm.cl/~antares/elo330
20