SlideShare una empresa de Scribd logo
1 de 18
Modelos de acceso a BD
2
Aplicación
Java
JDBC
DBMS
Cliente
Servidor BD
Protocolo
BD
Modelos de acceso a BD
3
Aplicación
Java
JDBC
DBMS
Navegador
Web
Cliente (GUI)
Protocolo HTTP
Servidor
BD
Servlets, JSP
en servidor
WEB
Protocolo BD
Cargando el Driver
 Es necesario primero cargar una clase con el driver de
la base de datos (esto lo provee el vendedor de la
DBMS)
 Ejemplo:
Class c =
Class.forName(“com.informix.jdbc.IfxDriver");
Calss.forName(“com.novell.sql.LDAPDriver”);
Class.forName("com.mysql.jdbc.Driver");
 Esto es particular según la base de datos que se usa
 Luego hay que crear una instancia de la clase
c.newInstance();
4
Estableciendo la Conexión
 Un objeto “Connection” representa una
conexión a una base de datos.
 La clase “DriverManager” intenta ubicar
el controlador que pueda conectarse a
la base de datos representada en la
URL.
5
Connection con = DriverManager.getConnection (
url,login, password);
Connection
6
...Connection
7
Ejemplo de Connection
import java.sql.*;
import com.mysql.jdbc.*;
java.sql.Connection getConnection(String usr, String pass) {
url = "jdbc:mysql://localhost/test";
driver = "com.mysql.jdbc.Driver";
try {
Class.forName(driver).newInstance();
con = DriverDriverManager.getConnection(url, usr,pass);
return con;
} catch(Exception e2) {
System.err.println("Problems");
return null;
}
}
8
La clase Statement y Connection
 Connection con =
getConnection(…);
 Statement stmt=
con.createStatement();
 En este momento la statement existe
pero no tiene una sentencia SQL para
ejecutar. Esta se puede pasar con los
métodos
 executeUpdate(String), usada para crear/modificar tablas (no
hay resultados), típicamente para create, update, delete...
 executeQuery(String) para hacer consultas, retornan resultados
en un objeto de la clase ResultSet, típicamente para select
9
Statement s=con.createStatement();
s.executeUpdate(“...”);
Crear tabla
s.executeUpdate(
“create libros(”+
“ id char(20),” +
“ titulo char(50),” +
“ autor char(50,)” +
“ editorial char(20),” +
“ fecha char(8),” +
“ primary key(id))”
);
Crear y ejecutar comando
El ResultSet
ResultSet rs = stmt.executeQuery(“select
nombre where direccion like Santiago”);
while (rs.next()) {
String s = rs.getString(“nombre”);
int y = rs.getInt(“año”);
System.out.println(s+” “+y);
}
 ResultSet rs contiene una colección de filas con
los resultados de la pregunta. La instrucción next
avanza un puntero que indica en qué fila
estamos actualmente. Al principio está antes de
la primera fila, por lo cual se hace necesario
ejecutar un next() para situarse en la primera
11
ResultSet r=s.executeQuery(
“select * from libros where titulo like ‘%Java%’”);
String mayor=””;
while(r.next()){
String fecha=r.getString(“fecha”);
if(fecha.compareTo(mayor)>0) mayor=fecha;
}
//posicionar antes de primera fila
r.beforeFirst(); //r.absolute(0);
//recorrer libros de Java
while(r.next())
if( r.getString(“fecha”).equals(mayor) )
System.out.println(
r.getString(“id”)+r.getString(“titulo”));
Conclusiones
Prepared Statements
13
Prepared Statements: Ejemplo
PreparedStatement updateSales;
String updateString = "update COFFEES “+
"set SALES = ? where COF_NAME
like ?";
updateSales = con.prepareStatement(updateString);
int [] salesForWeek = {175, 150, 60, 155, 90};
String [] coffees = {"Colombian", "French_Roast",
"Espresso", "Colombian_Decaf",
"French_Roast_Decaf"};
int len = coffees.length;
for(int i = 0; i < len; i++) {
updateSales.setInt(1,salesForWeek[i]);
updateSales.setString(2, coffees[i]);
updateSales.executeUpdate();
}
14
Transacciones
15
Transacciones
16
Stored Procedures
17
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”
Statement stmt = con.CreateStatement();
stmt.executeQuery(createSP);
Para llamar el Stored Procedure
CallableStatement cs;
cs = con.prepareCall(“{call SHOW_SUPPLIERS}”);
ResultSet rs = cs.executeQuery();
18

Más contenido relacionado

La actualidad más candente

Analisis Y DiseñO Orientado A Objetos
Analisis Y DiseñO Orientado A ObjetosAnalisis Y DiseñO Orientado A Objetos
Analisis Y DiseñO Orientado A Objetosyoiner santiago
 
diagrama de casos de uso del negocio y del sistema
diagrama de casos de uso del negocio y del sistemadiagrama de casos de uso del negocio y del sistema
diagrama de casos de uso del negocio y del sistemaUniversidad Tecnológica
 
Programación del lado del cliente
Programación del lado del clienteProgramación del lado del cliente
Programación del lado del clienteGabriel Mondragón
 
Ejemplos de diagramas =)
Ejemplos de diagramas =)Ejemplos de diagramas =)
Ejemplos de diagramas =)bat1820
 
Clases y objetos de java
Clases y objetos de javaClases y objetos de java
Clases y objetos de javainnovalabcun
 
Diagrama de clases
Diagrama de clasesDiagrama de clases
Diagrama de clasesNedoww Haw
 
modelos del proceso del software
 modelos del proceso del software  modelos del proceso del software
modelos del proceso del software Brihany Rossell
 
MONITOREO Y AUDITORIA DE LAS BASE DE DATOS..pptx
MONITOREO Y AUDITORIA DE LAS BASE DE DATOS..pptxMONITOREO Y AUDITORIA DE LAS BASE DE DATOS..pptx
MONITOREO Y AUDITORIA DE LAS BASE DE DATOS..pptxLuciiAntonio
 
Pruebas de sistemas y aceptacion
Pruebas de sistemas y aceptacionPruebas de sistemas y aceptacion
Pruebas de sistemas y aceptacionAbner Gerardo
 
Análise essencial e análise estruturada
Análise essencial e análise estruturadaAnálise essencial e análise estruturada
Análise essencial e análise estruturadaWagner Bonfim
 
Cuadro comparativo s.o
Cuadro  comparativo s.oCuadro  comparativo s.o
Cuadro comparativo s.oriosofelia
 
Modelo del negocio
Modelo del negocioModelo del negocio
Modelo del negocioJulio Pari
 
Java GUI La librería Swing
Java GUI La librería Swing Java GUI La librería Swing
Java GUI La librería Swing Laura
 
ORACLE EJERCICIO LABORATORIO
ORACLE EJERCICIO LABORATORIOORACLE EJERCICIO LABORATORIO
ORACLE EJERCICIO LABORATORIOSefira111
 
Ppt de ingenieria de requerimiento
Ppt de ingenieria de requerimientoPpt de ingenieria de requerimiento
Ppt de ingenieria de requerimientomely1930
 
Modelo Orientado A Objetos
Modelo Orientado A ObjetosModelo Orientado A Objetos
Modelo Orientado A Objetosjose_rob
 

La actualidad más candente (20)

Modelo relacional
Modelo relacionalModelo relacional
Modelo relacional
 
REDES - INTRODUCCION A PACKET TRACERT
REDES - INTRODUCCION A PACKET TRACERTREDES - INTRODUCCION A PACKET TRACERT
REDES - INTRODUCCION A PACKET TRACERT
 
Analisis Y DiseñO Orientado A Objetos
Analisis Y DiseñO Orientado A ObjetosAnalisis Y DiseñO Orientado A Objetos
Analisis Y DiseñO Orientado A Objetos
 
diagrama de casos de uso del negocio y del sistema
diagrama de casos de uso del negocio y del sistemadiagrama de casos de uso del negocio y del sistema
diagrama de casos de uso del negocio y del sistema
 
Programación del lado del cliente
Programación del lado del clienteProgramación del lado del cliente
Programación del lado del cliente
 
Ejemplos de diagramas =)
Ejemplos de diagramas =)Ejemplos de diagramas =)
Ejemplos de diagramas =)
 
PRESENTACIÓN RUP
PRESENTACIÓN RUPPRESENTACIÓN RUP
PRESENTACIÓN RUP
 
Clases y objetos de java
Clases y objetos de javaClases y objetos de java
Clases y objetos de java
 
Diagrama de clases
Diagrama de clasesDiagrama de clases
Diagrama de clases
 
modelos del proceso del software
 modelos del proceso del software  modelos del proceso del software
modelos del proceso del software
 
Front end y Back-end
Front end y Back-end Front end y Back-end
Front end y Back-end
 
MONITOREO Y AUDITORIA DE LAS BASE DE DATOS..pptx
MONITOREO Y AUDITORIA DE LAS BASE DE DATOS..pptxMONITOREO Y AUDITORIA DE LAS BASE DE DATOS..pptx
MONITOREO Y AUDITORIA DE LAS BASE DE DATOS..pptx
 
Pruebas de sistemas y aceptacion
Pruebas de sistemas y aceptacionPruebas de sistemas y aceptacion
Pruebas de sistemas y aceptacion
 
Análise essencial e análise estruturada
Análise essencial e análise estruturadaAnálise essencial e análise estruturada
Análise essencial e análise estruturada
 
Cuadro comparativo s.o
Cuadro  comparativo s.oCuadro  comparativo s.o
Cuadro comparativo s.o
 
Modelo del negocio
Modelo del negocioModelo del negocio
Modelo del negocio
 
Java GUI La librería Swing
Java GUI La librería Swing Java GUI La librería Swing
Java GUI La librería Swing
 
ORACLE EJERCICIO LABORATORIO
ORACLE EJERCICIO LABORATORIOORACLE EJERCICIO LABORATORIO
ORACLE EJERCICIO LABORATORIO
 
Ppt de ingenieria de requerimiento
Ppt de ingenieria de requerimientoPpt de ingenieria de requerimiento
Ppt de ingenieria de requerimiento
 
Modelo Orientado A Objetos
Modelo Orientado A ObjetosModelo Orientado A Objetos
Modelo Orientado A Objetos
 

Destacado

Mídias Sociais - 5ª Edição do Workshop Vendendo e Aprendendo - por Pedro Cordier
Mídias Sociais - 5ª Edição do Workshop Vendendo e Aprendendo - por Pedro CordierMídias Sociais - 5ª Edição do Workshop Vendendo e Aprendendo - por Pedro Cordier
Mídias Sociais - 5ª Edição do Workshop Vendendo e Aprendendo - por Pedro CordierPedro Cordier
 
Hollis Karen CV 10-2016
Hollis Karen CV 10-2016Hollis Karen CV 10-2016
Hollis Karen CV 10-2016Karen Gibbs
 
Tugas resum modul 10 strategi pembelajaran di sd
Tugas resum modul 10 strategi pembelajaran di sdTugas resum modul 10 strategi pembelajaran di sd
Tugas resum modul 10 strategi pembelajaran di sdnafichkifan
 
CROSSROADS MEDICAL CENTRE
CROSSROADS MEDICAL CENTRECROSSROADS MEDICAL CENTRE
CROSSROADS MEDICAL CENTREThabang Douglas
 
Métodos anticonceptivos y enfermedades de transmisión sexual
Métodos anticonceptivos y enfermedades de transmisión sexualMétodos anticonceptivos y enfermedades de transmisión sexual
Métodos anticonceptivos y enfermedades de transmisión sexualSANTIAGO GIRALDO VALLEJO
 
TCM- Fran Reeder, Testimonial
TCM- Fran Reeder, TestimonialTCM- Fran Reeder, Testimonial
TCM- Fran Reeder, TestimonialBrenton Harvey
 
Protej monos contra_los_virus_inform_ticos
Protej monos contra_los_virus_inform_ticosProtej monos contra_los_virus_inform_ticos
Protej monos contra_los_virus_inform_ticosdianagodoszapata
 
Don‘t threat me, it makes me cold!
Don‘t threat me, it makes me cold! Don‘t threat me, it makes me cold!
Don‘t threat me, it makes me cold! Aleksandra Dimova
 

Destacado (16)

Portada cale
Portada calePortada cale
Portada cale
 
2015-Vasai
2015-Vasai2015-Vasai
2015-Vasai
 
Mídias Sociais - 5ª Edição do Workshop Vendendo e Aprendendo - por Pedro Cordier
Mídias Sociais - 5ª Edição do Workshop Vendendo e Aprendendo - por Pedro CordierMídias Sociais - 5ª Edição do Workshop Vendendo e Aprendendo - por Pedro Cordier
Mídias Sociais - 5ª Edição do Workshop Vendendo e Aprendendo - por Pedro Cordier
 
Hollis Karen CV 10-2016
Hollis Karen CV 10-2016Hollis Karen CV 10-2016
Hollis Karen CV 10-2016
 
Tugas resum modul 10 strategi pembelajaran di sd
Tugas resum modul 10 strategi pembelajaran di sdTugas resum modul 10 strategi pembelajaran di sd
Tugas resum modul 10 strategi pembelajaran di sd
 
CROSSROADS MEDICAL CENTRE
CROSSROADS MEDICAL CENTRECROSSROADS MEDICAL CENTRE
CROSSROADS MEDICAL CENTRE
 
Métodos anticonceptivos y enfermedades de transmisión sexual
Métodos anticonceptivos y enfermedades de transmisión sexualMétodos anticonceptivos y enfermedades de transmisión sexual
Métodos anticonceptivos y enfermedades de transmisión sexual
 
POST MORTEM CARE engels
POST MORTEM CARE engelsPOST MORTEM CARE engels
POST MORTEM CARE engels
 
Google drive
Google driveGoogle drive
Google drive
 
TCM- Fran Reeder, Testimonial
TCM- Fran Reeder, TestimonialTCM- Fran Reeder, Testimonial
TCM- Fran Reeder, Testimonial
 
Protej monos contra_los_virus_inform_ticos
Protej monos contra_los_virus_inform_ticosProtej monos contra_los_virus_inform_ticos
Protej monos contra_los_virus_inform_ticos
 
Word slideshare
Word slideshareWord slideshare
Word slideshare
 
0729_HDRB1
0729_HDRB10729_HDRB1
0729_HDRB1
 
Appriciation
AppriciationAppriciation
Appriciation
 
Don‘t threat me, it makes me cold!
Don‘t threat me, it makes me cold! Don‘t threat me, it makes me cold!
Don‘t threat me, it makes me cold!
 
17 Pedro gallicantu
17 Pedro gallicantu17 Pedro gallicantu
17 Pedro gallicantu
 

Similar a Modelos de acceso a BD Java JDBC

Bases de Datos en Java - Intro a JDBC
Bases de Datos en Java - Intro a JDBCBases de Datos en Java - Intro a JDBC
Bases de Datos en Java - Intro a JDBCCarlos Hernando
 
Conexión a postgres desde
Conexión a postgres desdeConexión a postgres desde
Conexión a postgres desdejbersosa
 
Lpiii tema5 - jdbc
Lpiii tema5 - jdbcLpiii tema5 - jdbc
Lpiii tema5 - jdbckjrojas
 
Clase conexion java - Analisis de Sistemas
Clase conexion java - Analisis de SistemasClase conexion java - Analisis de Sistemas
Clase conexion java - Analisis de SistemasJose Bustamante Romero
 
3. Curso Java JDBC (Bases de datos) - Curso 2005-2006
3. Curso Java JDBC (Bases de datos) - Curso 2005-20063. Curso Java JDBC (Bases de datos) - Curso 2005-2006
3. Curso Java JDBC (Bases de datos) - Curso 2005-2006Samuel Marrero
 
Explicacion de la Clase en Java-MySQL.pdf
Explicacion de la Clase en Java-MySQL.pdfExplicacion de la Clase en Java-MySQL.pdf
Explicacion de la Clase en Java-MySQL.pdfGregorioSnchez7
 
Unidad 9. acceso a base de datos desde java
Unidad 9. acceso a base de datos desde javaUnidad 9. acceso a base de datos desde java
Unidad 9. acceso a base de datos desde javadevsco63
 
Entrenamiento en Acceso a Datos con ASP.NET
Entrenamiento en Acceso a Datos con ASP.NETEntrenamiento en Acceso a Datos con ASP.NET
Entrenamiento en Acceso a Datos con ASP.NETHaaron Gonzalez
 
Notas clase
Notas claseNotas clase
Notas clase1 2d
 
Notas clase java ii
Notas clase java iiNotas clase java ii
Notas clase java ii1 2d
 
Notas clase
Notas claseNotas clase
Notas clase1 2d
 
Tema 9 aplicaciones de dos capas por gio
Tema 9   aplicaciones de dos capas por gioTema 9   aplicaciones de dos capas por gio
Tema 9 aplicaciones de dos capas por gioRobert Wolf
 
Tema 15 aplicaciones de dos capas por gio
Tema 15   aplicaciones de dos capas por gioTema 15   aplicaciones de dos capas por gio
Tema 15 aplicaciones de dos capas por gioRobert Wolf
 

Similar a Modelos de acceso a BD Java JDBC (20)

Connection Java
Connection JavaConnection Java
Connection Java
 
Bases de Datos en Java - Intro a JDBC
Bases de Datos en Java - Intro a JDBCBases de Datos en Java - Intro a JDBC
Bases de Datos en Java - Intro a JDBC
 
Conexión a postgres desde
Conexión a postgres desdeConexión a postgres desde
Conexión a postgres desde
 
Lpiii tema5 - jdbc
Lpiii tema5 - jdbcLpiii tema5 - jdbc
Lpiii tema5 - jdbc
 
Clase conexion java - Analisis de Sistemas
Clase conexion java - Analisis de SistemasClase conexion java - Analisis de Sistemas
Clase conexion java - Analisis de Sistemas
 
3. Curso Java JDBC (Bases de datos) - Curso 2005-2006
3. Curso Java JDBC (Bases de datos) - Curso 2005-20063. Curso Java JDBC (Bases de datos) - Curso 2005-2006
3. Curso Java JDBC (Bases de datos) - Curso 2005-2006
 
Explicacion de la Clase en Java-MySQL.pdf
Explicacion de la Clase en Java-MySQL.pdfExplicacion de la Clase en Java-MySQL.pdf
Explicacion de la Clase en Java-MySQL.pdf
 
Unidad 9. acceso a base de datos desde java
Unidad 9. acceso a base de datos desde javaUnidad 9. acceso a base de datos desde java
Unidad 9. acceso a base de datos desde java
 
Entrenamiento en Acceso a Datos con ASP.NET
Entrenamiento en Acceso a Datos con ASP.NETEntrenamiento en Acceso a Datos con ASP.NET
Entrenamiento en Acceso a Datos con ASP.NET
 
Prepared statement
Prepared statementPrepared statement
Prepared statement
 
Resultset
ResultsetResultset
Resultset
 
Ado
AdoAdo
Ado
 
Notas clase
Notas claseNotas clase
Notas clase
 
Notas clase java ii
Notas clase java iiNotas clase java ii
Notas clase java ii
 
Notas clase
Notas claseNotas clase
Notas clase
 
Guia7 java
Guia7 javaGuia7 java
Guia7 java
 
Tema 9 aplicaciones de dos capas por gio
Tema 9   aplicaciones de dos capas por gioTema 9   aplicaciones de dos capas por gio
Tema 9 aplicaciones de dos capas por gio
 
Tema 15 aplicaciones de dos capas por gio
Tema 15   aplicaciones de dos capas por gioTema 15   aplicaciones de dos capas por gio
Tema 15 aplicaciones de dos capas por gio
 
Prepared statement
Prepared statementPrepared statement
Prepared statement
 
JAVA CON BASE DE DATOS
JAVA CON BASE DE DATOSJAVA CON BASE DE DATOS
JAVA CON BASE DE DATOS
 

Más de ROMARIO MONTALVAN CASTILLO (14)

Oltp: Procesamiento de Transacciones en Linea
Oltp: Procesamiento de Transacciones en LineaOltp: Procesamiento de Transacciones en Linea
Oltp: Procesamiento de Transacciones en Linea
 
Diapositivas
DiapositivasDiapositivas
Diapositivas
 
Triggers-Activadores
Triggers-ActivadoresTriggers-Activadores
Triggers-Activadores
 
Vistas
VistasVistas
Vistas
 
COMANDOS ddl
COMANDOS ddlCOMANDOS ddl
COMANDOS ddl
 
Objeto connection
Objeto connectionObjeto connection
Objeto connection
 
Diapositivas grupo dina roma y maga
Diapositivas grupo dina roma y magaDiapositivas grupo dina roma y maga
Diapositivas grupo dina roma y maga
 
Gestor de base de datos
Gestor de base de datosGestor de base de datos
Gestor de base de datos
 
Result set
Result setResult set
Result set
 
Statemment
StatemmentStatemment
Statemment
 
Java con b ds
Java con b dsJava con b ds
Java con b ds
 
JDBC
JDBCJDBC
JDBC
 
Java
JavaJava
Java
 
Qué es java
Qué es javaQué es java
Qué es java
 

Último

Edificio residencial Tarsia de AEDAS Homes Granada
Edificio residencial Tarsia de AEDAS Homes GranadaEdificio residencial Tarsia de AEDAS Homes Granada
Edificio residencial Tarsia de AEDAS Homes GranadaANDECE
 
Electricidad y electronica industrial unidad 1
Electricidad y electronica industrial unidad 1Electricidad y electronica industrial unidad 1
Electricidad y electronica industrial unidad 1victorrodrigues972054
 
Clase 1 Análisis Estructura. Para Arquitectura pptx
Clase 1 Análisis Estructura. Para Arquitectura pptxClase 1 Análisis Estructura. Para Arquitectura pptx
Clase 1 Análisis Estructura. Para Arquitectura pptxPaolaVillalba13
 
Sistema de Gestión de Freelancers (Base de Datos)
Sistema de Gestión de Freelancers (Base de Datos)Sistema de Gestión de Freelancers (Base de Datos)
Sistema de Gestión de Freelancers (Base de Datos)dianamateo1513
 
QUIMICA ORGANICA I ENOLES Y ENAMINAS LIBR
QUIMICA ORGANICA I ENOLES Y ENAMINAS LIBRQUIMICA ORGANICA I ENOLES Y ENAMINAS LIBR
QUIMICA ORGANICA I ENOLES Y ENAMINAS LIBRyanimarca23
 
Sistema de Base de Datos (Rubén Alberto)
Sistema de Base de Datos (Rubén Alberto)Sistema de Base de Datos (Rubén Alberto)
Sistema de Base de Datos (Rubén Alberto)mendezruben1901
 
Simbología de Soldadura, interpretacion y aplicacion en dibujo tecnico indus...
Simbología de Soldadura,  interpretacion y aplicacion en dibujo tecnico indus...Simbología de Soldadura,  interpretacion y aplicacion en dibujo tecnico indus...
Simbología de Soldadura, interpretacion y aplicacion en dibujo tecnico indus...esandoval7
 
CLASE 2 MUROS CARAVISTA EN CONCRETO Y UNIDAD DE ALBAÑILERIA
CLASE 2 MUROS CARAVISTA EN CONCRETO  Y UNIDAD DE ALBAÑILERIACLASE 2 MUROS CARAVISTA EN CONCRETO  Y UNIDAD DE ALBAÑILERIA
CLASE 2 MUROS CARAVISTA EN CONCRETO Y UNIDAD DE ALBAÑILERIAMayraOchoa35
 
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023ANDECE
 
Fisiología del azufre en plantas S.S.pdf
Fisiología del azufre en plantas S.S.pdfFisiología del azufre en plantas S.S.pdf
Fisiología del azufre en plantas S.S.pdfJessLeonelVargasJimn
 
SOUDAL: Soluciones de sellado, pegado y hermeticidad
SOUDAL: Soluciones de sellado, pegado y hermeticidadSOUDAL: Soluciones de sellado, pegado y hermeticidad
SOUDAL: Soluciones de sellado, pegado y hermeticidadANDECE
 
VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)
VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)
VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)ssuser6958b11
 
Historia de la Arquitectura II, 1era actividad..pdf
Historia de la Arquitectura II, 1era actividad..pdfHistoria de la Arquitectura II, 1era actividad..pdf
Historia de la Arquitectura II, 1era actividad..pdfIsbelRodrguez
 
Sistema de gestión de turnos para negocios
Sistema de gestión de turnos para negociosSistema de gestión de turnos para negocios
Sistema de gestión de turnos para negociosfranchescamassielmor
 
Biología molecular ADN recombinante.pptx
Biología molecular ADN recombinante.pptxBiología molecular ADN recombinante.pptx
Biología molecular ADN recombinante.pptxluisvalero46
 
trabajos en altura 2024, sistemas de contencion anticaidas
trabajos en altura 2024, sistemas de contencion anticaidastrabajos en altura 2024, sistemas de contencion anticaidas
trabajos en altura 2024, sistemas de contencion anticaidasNelsonQuispeQuispitu
 
594305198-OPCIONES-TARIFARIAS-Y-CONDICIONES-DE-APLICACION-DE-TARIFAS-A-USUARI...
594305198-OPCIONES-TARIFARIAS-Y-CONDICIONES-DE-APLICACION-DE-TARIFAS-A-USUARI...594305198-OPCIONES-TARIFARIAS-Y-CONDICIONES-DE-APLICACION-DE-TARIFAS-A-USUARI...
594305198-OPCIONES-TARIFARIAS-Y-CONDICIONES-DE-APLICACION-DE-TARIFAS-A-USUARI...humberto espejo
 
Peligros de Excavaciones y Zanjas presentacion
Peligros de Excavaciones y Zanjas presentacionPeligros de Excavaciones y Zanjas presentacion
Peligros de Excavaciones y Zanjas presentacionOsdelTacusiPancorbo
 
S454444444444444444_CONTROL_SET_A_GEOMN1204.pdf
S454444444444444444_CONTROL_SET_A_GEOMN1204.pdfS454444444444444444_CONTROL_SET_A_GEOMN1204.pdf
S454444444444444444_CONTROL_SET_A_GEOMN1204.pdffredyflores58
 

Último (20)

Edificio residencial Tarsia de AEDAS Homes Granada
Edificio residencial Tarsia de AEDAS Homes GranadaEdificio residencial Tarsia de AEDAS Homes Granada
Edificio residencial Tarsia de AEDAS Homes Granada
 
Electricidad y electronica industrial unidad 1
Electricidad y electronica industrial unidad 1Electricidad y electronica industrial unidad 1
Electricidad y electronica industrial unidad 1
 
Clase 1 Análisis Estructura. Para Arquitectura pptx
Clase 1 Análisis Estructura. Para Arquitectura pptxClase 1 Análisis Estructura. Para Arquitectura pptx
Clase 1 Análisis Estructura. Para Arquitectura pptx
 
Sistema de Gestión de Freelancers (Base de Datos)
Sistema de Gestión de Freelancers (Base de Datos)Sistema de Gestión de Freelancers (Base de Datos)
Sistema de Gestión de Freelancers (Base de Datos)
 
QUIMICA ORGANICA I ENOLES Y ENAMINAS LIBR
QUIMICA ORGANICA I ENOLES Y ENAMINAS LIBRQUIMICA ORGANICA I ENOLES Y ENAMINAS LIBR
QUIMICA ORGANICA I ENOLES Y ENAMINAS LIBR
 
Sistema de Base de Datos (Rubén Alberto)
Sistema de Base de Datos (Rubén Alberto)Sistema de Base de Datos (Rubén Alberto)
Sistema de Base de Datos (Rubén Alberto)
 
Simbología de Soldadura, interpretacion y aplicacion en dibujo tecnico indus...
Simbología de Soldadura,  interpretacion y aplicacion en dibujo tecnico indus...Simbología de Soldadura,  interpretacion y aplicacion en dibujo tecnico indus...
Simbología de Soldadura, interpretacion y aplicacion en dibujo tecnico indus...
 
CLASE 2 MUROS CARAVISTA EN CONCRETO Y UNIDAD DE ALBAÑILERIA
CLASE 2 MUROS CARAVISTA EN CONCRETO  Y UNIDAD DE ALBAÑILERIACLASE 2 MUROS CARAVISTA EN CONCRETO  Y UNIDAD DE ALBAÑILERIA
CLASE 2 MUROS CARAVISTA EN CONCRETO Y UNIDAD DE ALBAÑILERIA
 
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
 
Fisiología del azufre en plantas S.S.pdf
Fisiología del azufre en plantas S.S.pdfFisiología del azufre en plantas S.S.pdf
Fisiología del azufre en plantas S.S.pdf
 
SOUDAL: Soluciones de sellado, pegado y hermeticidad
SOUDAL: Soluciones de sellado, pegado y hermeticidadSOUDAL: Soluciones de sellado, pegado y hermeticidad
SOUDAL: Soluciones de sellado, pegado y hermeticidad
 
VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)
VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)
VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)
 
Historia de la Arquitectura II, 1era actividad..pdf
Historia de la Arquitectura II, 1era actividad..pdfHistoria de la Arquitectura II, 1era actividad..pdf
Historia de la Arquitectura II, 1era actividad..pdf
 
MATPEL COMPLETO DESDE NIVEL I AL III.pdf
MATPEL COMPLETO DESDE NIVEL I AL III.pdfMATPEL COMPLETO DESDE NIVEL I AL III.pdf
MATPEL COMPLETO DESDE NIVEL I AL III.pdf
 
Sistema de gestión de turnos para negocios
Sistema de gestión de turnos para negociosSistema de gestión de turnos para negocios
Sistema de gestión de turnos para negocios
 
Biología molecular ADN recombinante.pptx
Biología molecular ADN recombinante.pptxBiología molecular ADN recombinante.pptx
Biología molecular ADN recombinante.pptx
 
trabajos en altura 2024, sistemas de contencion anticaidas
trabajos en altura 2024, sistemas de contencion anticaidastrabajos en altura 2024, sistemas de contencion anticaidas
trabajos en altura 2024, sistemas de contencion anticaidas
 
594305198-OPCIONES-TARIFARIAS-Y-CONDICIONES-DE-APLICACION-DE-TARIFAS-A-USUARI...
594305198-OPCIONES-TARIFARIAS-Y-CONDICIONES-DE-APLICACION-DE-TARIFAS-A-USUARI...594305198-OPCIONES-TARIFARIAS-Y-CONDICIONES-DE-APLICACION-DE-TARIFAS-A-USUARI...
594305198-OPCIONES-TARIFARIAS-Y-CONDICIONES-DE-APLICACION-DE-TARIFAS-A-USUARI...
 
Peligros de Excavaciones y Zanjas presentacion
Peligros de Excavaciones y Zanjas presentacionPeligros de Excavaciones y Zanjas presentacion
Peligros de Excavaciones y Zanjas presentacion
 
S454444444444444444_CONTROL_SET_A_GEOMN1204.pdf
S454444444444444444_CONTROL_SET_A_GEOMN1204.pdfS454444444444444444_CONTROL_SET_A_GEOMN1204.pdf
S454444444444444444_CONTROL_SET_A_GEOMN1204.pdf
 

Modelos de acceso a BD Java JDBC

  • 1.
  • 2. Modelos de acceso a BD 2 Aplicación Java JDBC DBMS Cliente Servidor BD Protocolo BD
  • 3. Modelos de acceso a BD 3 Aplicación Java JDBC DBMS Navegador Web Cliente (GUI) Protocolo HTTP Servidor BD Servlets, JSP en servidor WEB Protocolo BD
  • 4. Cargando el Driver  Es necesario primero cargar una clase con el driver de la base de datos (esto lo provee el vendedor de la DBMS)  Ejemplo: Class c = Class.forName(“com.informix.jdbc.IfxDriver"); Calss.forName(“com.novell.sql.LDAPDriver”); Class.forName("com.mysql.jdbc.Driver");  Esto es particular según la base de datos que se usa  Luego hay que crear una instancia de la clase c.newInstance(); 4
  • 5. Estableciendo la Conexión  Un objeto “Connection” representa una conexión a una base de datos.  La clase “DriverManager” intenta ubicar el controlador que pueda conectarse a la base de datos representada en la URL. 5 Connection con = DriverManager.getConnection ( url,login, password);
  • 8. Ejemplo de Connection import java.sql.*; import com.mysql.jdbc.*; java.sql.Connection getConnection(String usr, String pass) { url = "jdbc:mysql://localhost/test"; driver = "com.mysql.jdbc.Driver"; try { Class.forName(driver).newInstance(); con = DriverDriverManager.getConnection(url, usr,pass); return con; } catch(Exception e2) { System.err.println("Problems"); return null; } } 8
  • 9. La clase Statement y Connection  Connection con = getConnection(…);  Statement stmt= con.createStatement();  En este momento la statement existe pero no tiene una sentencia SQL para ejecutar. Esta se puede pasar con los métodos  executeUpdate(String), usada para crear/modificar tablas (no hay resultados), típicamente para create, update, delete...  executeQuery(String) para hacer consultas, retornan resultados en un objeto de la clase ResultSet, típicamente para select 9
  • 10. Statement s=con.createStatement(); s.executeUpdate(“...”); Crear tabla s.executeUpdate( “create libros(”+ “ id char(20),” + “ titulo char(50),” + “ autor char(50,)” + “ editorial char(20),” + “ fecha char(8),” + “ primary key(id))” ); Crear y ejecutar comando
  • 11. El ResultSet ResultSet rs = stmt.executeQuery(“select nombre where direccion like Santiago”); while (rs.next()) { String s = rs.getString(“nombre”); int y = rs.getInt(“año”); System.out.println(s+” “+y); }  ResultSet rs contiene una colección de filas con los resultados de la pregunta. La instrucción next avanza un puntero que indica en qué fila estamos actualmente. Al principio está antes de la primera fila, por lo cual se hace necesario ejecutar un next() para situarse en la primera 11
  • 12. ResultSet r=s.executeQuery( “select * from libros where titulo like ‘%Java%’”); String mayor=””; while(r.next()){ String fecha=r.getString(“fecha”); if(fecha.compareTo(mayor)>0) mayor=fecha; } //posicionar antes de primera fila r.beforeFirst(); //r.absolute(0); //recorrer libros de Java while(r.next()) if( r.getString(“fecha”).equals(mayor) ) System.out.println( r.getString(“id”)+r.getString(“titulo”)); Conclusiones
  • 14. Prepared Statements: Ejemplo PreparedStatement updateSales; String updateString = "update COFFEES “+ "set SALES = ? where COF_NAME like ?"; updateSales = con.prepareStatement(updateString); int [] salesForWeek = {175, 150, 60, 155, 90}; String [] coffees = {"Colombian", "French_Roast", "Espresso", "Colombian_Decaf", "French_Roast_Decaf"}; int len = coffees.length; for(int i = 0; i < len; i++) { updateSales.setInt(1,salesForWeek[i]); updateSales.setString(2, coffees[i]); updateSales.executeUpdate(); } 14
  • 18. 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” Statement stmt = con.CreateStatement(); stmt.executeQuery(createSP); Para llamar el Stored Procedure CallableStatement cs; cs = con.prepareCall(“{call SHOW_SUPPLIERS}”); ResultSet rs = cs.executeQuery(); 18