SlideShare una empresa de Scribd logo
1 de 18
Descargar para leer sin conexión
Eric Gustavo Coronel Castillo
www.linkedin.com/in/gcoronelc
gcoronelc.blogspot.com
gcoronelc@gmail.com
SEMINARIO
ACCESO A
BASE DE DATOS CON JDBC
Temas
 Objetivo
 Arquitectura JDBC
 Drivers JDBC
 Componentes del API JDBC
 Cargar el Driver JDBC
 Objeto Connection
 Clase AccedoDB.java
 Acceso al Taller
Objetivo
Desarrollar aplicaciones
que accedan a bases de
datos utilizando el API
JDBC.
Aplicación Java
J D B C
D B M S
Servidor de Base
de Datos
Protocolo Propietario
de Base de Datos
Máquina Cliente
Arquitectura JDBC
Drivers JDBC
• Los drivers JDBC son la implementación que cada proveedor ha realizado del API JDBC.
• Existen cuatro tipos:
– Tipo 1: JDBC - ODBC Bridge
– Tipo 2: Native - API partly - Java
– Tipo 3: JDBC - Net pure Java
– Tipo 4: Native - Protocol pure Java
• Los SGBD tendrán un fichero JAR ó ZIP con las clases del driver JDBC que habrá que añadir a la
variable CLASSPATH del sistema.
• Sun proporciona un driver JDBC-ODBC que permite el acceso a las fuentes de datos ODBC, como
Microsoft Access, aunque no recomienda su uso en aplicaciones finales.
Drivers JDBC
Tipo 1: JDBC - ODBC Bridge
– Viene incluido con el JDK.
sun.jdbc.odbc.JdbcOdbcDriver
– Traduce llamadas JDBC en llamadas ODBC.
– Requiere de la instalación y configuración del cliente ODBC.
Drivers JDBC
Drivers JDBC
Tipo 2: Native - API partly - Java
– No viene incluido con el JDK.
– Traduce llamadas JDBC a llamadas propietarias del SGBD.
– Requiere instalación y configuración del cliente del SGBD.
Drivers JDBC
Tipo 3: JDBC - Net Pure Java
– No viene incluido con el JDK
– Conecta de manera remota vía TCP/IP con un daemon (listener) del SGBD
(local o remoto).
– El daemon traduce las llamadas al SGBD.
– No requiere ninguna instalación previa.
Drivers JDBC
• Tipo 4: Native - Protocol Pure Java
– No viene incluido con el JDK
– Conecta de manera remota vía TCP/IP con el SGBD (local o remoto).
– No requiere ninguna instalación previa.
Componentes del API JDBC
• Los componentes del API JDBC son:
– Gestor de Drivers: java.sql.DriverManager
– Conexión con la base de datos: java.sql.Connection
– Ejecutar sentencias: java.sql.Statement
– Manejo de resultado: java.sql.ResultSet
– Sentencias con parámetros: java.sql.PreparedStatement
– Procedimiento almacenado: java.sql.CallableStatement
Cargar el Driver
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
} catch (ClassNotFoundException e) {
System.out.println("Error loading driver: " + e.getMessage());
}
Objeto Connection
• Definir la URL de Conexión de BD
String url = "jdbc:mysql://localhost:3306/eurekabank";
• Establecer la Conexión
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
String url = "jdbc:mysql://localhost:3306/eurekabank";
Connection cn = DriverManager.getConnection(url,"root",“admin");
} catch (Exception e) {
System.out.println("Error loading driver: “ + e.getMessage());
}
• Cerrar la Conexión
cn.close();
Objeto Connection
• Obteniendo información del DBMS
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
String url = "jdbc:mysql://localhost:3306/eurekabank";
Connection cn = DriverManager.getConnection(url,"root","admin");
DatabaseMetaData dbmd = cn.getMetaData();
String dbms = dbmd.getDatabaseProductName();
String version = dbmd.getDatabaseProductVersion();
System.out.println("Database: " + dbms);
System.out.println("Version: " + version );
} catch (Exception e) {
System.out.println(e.getMessage());
}
Instancia Única del Objeto Connection
Base de Datos
AccesoDB.java
Business
Component
12
3
Instancia Única del Objeto Connection
public class AccesoDB {
private static Connection cn = null;
public static Connection getConnection() throws SQLException {
Connection cn = null;
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
String url = "jdbc:mysql://localhost:3306/eurekabank";
cn = DriverManager.getConnection(url, "eureka", "admin");
} catch (ClassNotFoundException e) {
throw new SQLException("No se encuentra el driver.");
} catch(SQLException e){
throw e;
} catch(Exception e){
throw new SQLException("No se tiene acceso a la BD.");
}
return cn;
}
}
Acceso al Taller
http://www.talleresoracle.com/
https://goo.gl/TDgc5R

Más contenido relacionado

La actualidad más candente

Maquina de pila abstracta
Maquina de pila abstractaMaquina de pila abstracta
Maquina de pila abstracta
wilfredo pena
 
Traductores y compiladores con lex
Traductores y compiladores con lexTraductores y compiladores con lex
Traductores y compiladores con lex
franciscolanuza
 
Trabajo de compiladores completo alexandra
Trabajo de compiladores completo alexandraTrabajo de compiladores completo alexandra
Trabajo de compiladores completo alexandra
AlexandraMolinaSanchez
 
Definición e historia de las herramientas case
Definición e historia de las herramientas caseDefinición e historia de las herramientas case
Definición e historia de las herramientas case
IngenierosD
 

La actualidad más candente (20)

introduccion a c# y ejercicios solucionados
introduccion a c# y ejercicios solucionadosintroduccion a c# y ejercicios solucionados
introduccion a c# y ejercicios solucionados
 
Solid Principles & Design patterns with PHP examples
Solid Principles & Design patterns with PHP examplesSolid Principles & Design patterns with PHP examples
Solid Principles & Design patterns with PHP examples
 
Sistemas Basados en Conocimientos
Sistemas Basados en ConocimientosSistemas Basados en Conocimientos
Sistemas Basados en Conocimientos
 
LENGUAJES LIBRES DE CONTEXTO Y GRAMATICA LIBRES DE CONTEXTO
LENGUAJES LIBRES DE CONTEXTO Y GRAMATICA LIBRES DE CONTEXTO LENGUAJES LIBRES DE CONTEXTO Y GRAMATICA LIBRES DE CONTEXTO
LENGUAJES LIBRES DE CONTEXTO Y GRAMATICA LIBRES DE CONTEXTO
 
Maquina de pila abstracta
Maquina de pila abstractaMaquina de pila abstracta
Maquina de pila abstracta
 
Mapa Mental Comandos Unix E Linux
Mapa Mental Comandos Unix E LinuxMapa Mental Comandos Unix E Linux
Mapa Mental Comandos Unix E Linux
 
Traductores y compiladores con lex
Traductores y compiladores con lexTraductores y compiladores con lex
Traductores y compiladores con lex
 
Lenguaje ensamblador
Lenguaje ensambladorLenguaje ensamblador
Lenguaje ensamblador
 
UNIDAD 2 PROGRAMACIÓN BASICA
UNIDAD 2 PROGRAMACIÓN BASICAUNIDAD 2 PROGRAMACIÓN BASICA
UNIDAD 2 PROGRAMACIÓN BASICA
 
SISTEMAS OPERATIVOS
SISTEMAS OPERATIVOSSISTEMAS OPERATIVOS
SISTEMAS OPERATIVOS
 
Trabajo de compiladores completo alexandra
Trabajo de compiladores completo alexandraTrabajo de compiladores completo alexandra
Trabajo de compiladores completo alexandra
 
Introduccion a Compiladores e Interpretes
Introduccion a Compiladores e InterpretesIntroduccion a Compiladores e Interpretes
Introduccion a Compiladores e Interpretes
 
Ansible Assume AWS Role
Ansible Assume AWS RoleAnsible Assume AWS Role
Ansible Assume AWS Role
 
Eventos, Topicos Avanzados de Programacion
Eventos, Topicos Avanzados de Programacion Eventos, Topicos Avanzados de Programacion
Eventos, Topicos Avanzados de Programacion
 
Definición e historia de las herramientas case
Definición e historia de las herramientas caseDefinición e historia de las herramientas case
Definición e historia de las herramientas case
 
Gramática Libre de Contexto
Gramática Libre de ContextoGramática Libre de Contexto
Gramática Libre de Contexto
 
Semana 8 api de socket
Semana  8 api de socketSemana  8 api de socket
Semana 8 api de socket
 
Clase 1. lógica de la programación
Clase 1. lógica de la programaciónClase 1. lógica de la programación
Clase 1. lógica de la programación
 
Unidad 1 Ingenieria de software
Unidad 1 Ingenieria de softwareUnidad 1 Ingenieria de software
Unidad 1 Ingenieria de software
 
Paradigmas de la Inteligencia Artificial..pptx
Paradigmas de la Inteligencia Artificial..pptxParadigmas de la Inteligencia Artificial..pptx
Paradigmas de la Inteligencia Artificial..pptx
 

Destacado

Destacado (8)

Java Lambda
Java LambdaJava Lambda
Java Lambda
 
Buenas Practicas en el Desarrollo de Software
Buenas Practicas en el Desarrollo de SoftwareBuenas Practicas en el Desarrollo de Software
Buenas Practicas en el Desarrollo de Software
 
Java Fundamentos 01 - Introducción
Java Fundamentos 01 - IntroducciónJava Fundamentos 01 - Introducción
Java Fundamentos 01 - Introducción
 
DESARROLLADOR DE APLICACIONES DE ESCRITORIO CON JDBC
DESARROLLADOR DE APLICACIONES DE ESCRITORIO CON JDBCDESARROLLADOR DE APLICACIONES DE ESCRITORIO CON JDBC
DESARROLLADOR DE APLICACIONES DE ESCRITORIO CON JDBC
 
PROGRAMACIÓN ORIENTADA A OBJETOS
PROGRAMACIÓN ORIENTADA A OBJETOSPROGRAMACIÓN ORIENTADA A OBJETOS
PROGRAMACIÓN ORIENTADA A OBJETOS
 
Java Web 00 - Contexto
Java Web 00 - ContextoJava Web 00 - Contexto
Java Web 00 - Contexto
 
Java web Lección 04 - JSTL
Java web Lección 04 - JSTLJava web Lección 04 - JSTL
Java web Lección 04 - JSTL
 
Java Fundamentos - Programación Orientada a Servicios
Java Fundamentos - Programación Orientada a ServiciosJava Fundamentos - Programación Orientada a Servicios
Java Fundamentos - Programación Orientada a Servicios
 

Similar a SEMINARIO: ACCESO A BASE DE DATOS CON JDBC

Lps 18 basesdedatos
Lps 18 basesdedatosLps 18 basesdedatos
Lps 18 basesdedatos
Robert Wolf
 

Similar a SEMINARIO: ACCESO A BASE DE DATOS CON JDBC (20)

Curso Básico de JDBC
Curso Básico de JDBCCurso Básico de JDBC
Curso Básico de JDBC
 
Curso basico de base de datos con java
Curso basico de base de datos con javaCurso basico de base de datos con java
Curso basico de base de datos con java
 
Jdbc
JdbcJdbc
Jdbc
 
Java y Base de Datos
Java y Base de DatosJava y Base de Datos
Java y Base de Datos
 
Acceso a datos con JDBC.pdf
Acceso a datos con JDBC.pdfAcceso a datos con JDBC.pdf
Acceso a datos con JDBC.pdf
 
Jdbc
JdbcJdbc
Jdbc
 
Jdbc
JdbcJdbc
Jdbc
 
Jdbc diapositivva
Jdbc diapositivvaJdbc diapositivva
Jdbc diapositivva
 
Jdbc
JdbcJdbc
Jdbc
 
Jdbc
JdbcJdbc
Jdbc
 
11.android bases de datos
11.android   bases de datos11.android   bases de datos
11.android bases de datos
 
Jdbc Mysql
Jdbc MysqlJdbc Mysql
Jdbc Mysql
 
Bases de Datos en en www.fiec.espol.edu.ec
Bases de Datos en  en www.fiec.espol.edu.ecBases de Datos en  en www.fiec.espol.edu.ec
Bases de Datos en en www.fiec.espol.edu.ec
 
Java con bd
Java con bdJava con bd
Java con bd
 
JDBC
JDBCJDBC
JDBC
 
Jdbc
JdbcJdbc
Jdbc
 
Jdbc lenguaje de programación
Jdbc lenguaje de programaciónJdbc lenguaje de programación
Jdbc lenguaje de programación
 
Lps 18 basesdedatos
Lps 18 basesdedatosLps 18 basesdedatos
Lps 18 basesdedatos
 
Lps 18 basesdedatos
Lps 18 basesdedatosLps 18 basesdedatos
Lps 18 basesdedatos
 
Jyoc java-cap16 persistencia. bases de datos
Jyoc java-cap16 persistencia. bases de datosJyoc java-cap16 persistencia. bases de datos
Jyoc java-cap16 persistencia. bases de datos
 

Más de Eric Gustavo Coronel Castillo

Más de Eric Gustavo Coronel Castillo (20)

Java Web JSTL
Java Web JSTLJava Web JSTL
Java Web JSTL
 
Model View Controller - MVC
Model View Controller - MVCModel View Controller - MVC
Model View Controller - MVC
 
JavaServer Page
JavaServer PageJavaServer Page
JavaServer Page
 
Java Web: Servlets
Java Web: ServletsJava Web: Servlets
Java Web: Servlets
 
Java Web - Presentación
Java Web - PresentaciónJava Web - Presentación
Java Web - Presentación
 
JAVA ORIENTADO A OBJETOS - EXCEPCIONES
JAVA ORIENTADO A OBJETOS - EXCEPCIONESJAVA ORIENTADO A OBJETOS - EXCEPCIONES
JAVA ORIENTADO A OBJETOS - EXCEPCIONES
 
JAVA ORIENTADO A OBJETOS - COLECCIONES
JAVA ORIENTADO A OBJETOS - COLECCIONESJAVA ORIENTADO A OBJETOS - COLECCIONES
JAVA ORIENTADO A OBJETOS - COLECCIONES
 
JAVA ORIENTADO A OBJETOS - ARREGLOS
JAVA ORIENTADO A OBJETOS - ARREGLOSJAVA ORIENTADO A OBJETOS - ARREGLOS
JAVA ORIENTADO A OBJETOS - ARREGLOS
 
JAVA ORIENTADO A OBJETOS - INTERFACES
JAVA ORIENTADO A OBJETOS - INTERFACESJAVA ORIENTADO A OBJETOS - INTERFACES
JAVA ORIENTADO A OBJETOS - INTERFACES
 
JAVA ORIENTADO A OBJETOS - HERENCIA
JAVA ORIENTADO A OBJETOS - HERENCIAJAVA ORIENTADO A OBJETOS - HERENCIA
JAVA ORIENTADO A OBJETOS - HERENCIA
 
JAVA ORIENTADO A OBJETOS - ALCANCE DE CLASE
JAVA ORIENTADO A OBJETOS - ALCANCE DE CLASEJAVA ORIENTADO A OBJETOS - ALCANCE DE CLASE
JAVA ORIENTADO A OBJETOS - ALCANCE DE CLASE
 
JAVA ORIENTADO A OBJETOS - SOBRECARGA
JAVA ORIENTADO A OBJETOS - SOBRECARGAJAVA ORIENTADO A OBJETOS - SOBRECARGA
JAVA ORIENTADO A OBJETOS - SOBRECARGA
 
JAVA ORIENTADO A OBJETOS - MIEMBROS DE CLASE
JAVA ORIENTADO A OBJETOS - MIEMBROS DE CLASEJAVA ORIENTADO A OBJETOS - MIEMBROS DE CLASE
JAVA ORIENTADO A OBJETOS - MIEMBROS DE CLASE
 
JAVA ORIENTADO A OBJETOS - CLASES Y OBJETOS
JAVA ORIENTADO A OBJETOS - CLASES Y OBJETOSJAVA ORIENTADO A OBJETOS - CLASES Y OBJETOS
JAVA ORIENTADO A OBJETOS - CLASES Y OBJETOS
 
Cursos Virtuales con Gustavo Coronel en UDEMY
Cursos Virtuales con Gustavo Coronel en UDEMYCursos Virtuales con Gustavo Coronel en UDEMY
Cursos Virtuales con Gustavo Coronel en UDEMY
 
JAVA ORIENTADO A OBJETOS - INTRODUCCIÓN
JAVA ORIENTADO A OBJETOS - INTRODUCCIÓNJAVA ORIENTADO A OBJETOS - INTRODUCCIÓN
JAVA ORIENTADO A OBJETOS - INTRODUCCIÓN
 
Buenas practicas para el Desarrollo de Software
Buenas practicas para el Desarrollo de SoftwareBuenas practicas para el Desarrollo de Software
Buenas practicas para el Desarrollo de Software
 
JAVA OO - TEMA 08 - COLECCIONES
JAVA OO - TEMA 08 - COLECCIONESJAVA OO - TEMA 08 - COLECCIONES
JAVA OO - TEMA 08 - COLECCIONES
 
EL MODELO DIRECTO DE DELL: TODO LO QUE HAY SOBRE LA INFORMACION
EL MODELO DIRECTO DE DELL: TODO LO QUE HAY SOBRE LA INFORMACIONEL MODELO DIRECTO DE DELL: TODO LO QUE HAY SOBRE LA INFORMACION
EL MODELO DIRECTO DE DELL: TODO LO QUE HAY SOBRE LA INFORMACION
 
ORACLE SQL
ORACLE SQLORACLE SQL
ORACLE SQL
 

Último

Evaluación del riesgo tecnologías informáticas.pdf
Evaluación del riesgo tecnologías informáticas.pdfEvaluación del riesgo tecnologías informáticas.pdf
Evaluación del riesgo tecnologías informáticas.pdf
GuillermoBarquero7
 
2da. Clase Mecanografía e introducción a Excel (2).pptx
2da. Clase Mecanografía e introducción a Excel (2).pptx2da. Clase Mecanografía e introducción a Excel (2).pptx
2da. Clase Mecanografía e introducción a Excel (2).pptx
EncomiendasElSherpa
 

Último (6)

Caso de Exito LPL Projects Logistics Spain y Business Central
Caso de Exito LPL Projects Logistics Spain y Business CentralCaso de Exito LPL Projects Logistics Spain y Business Central
Caso de Exito LPL Projects Logistics Spain y Business Central
 
Caso de éxito de Hervian con el ERP Sage 200
Caso de éxito de Hervian con el ERP Sage 200Caso de éxito de Hervian con el ERP Sage 200
Caso de éxito de Hervian con el ERP Sage 200
 
Evaluación del riesgo tecnologías informáticas.pdf
Evaluación del riesgo tecnologías informáticas.pdfEvaluación del riesgo tecnologías informáticas.pdf
Evaluación del riesgo tecnologías informáticas.pdf
 
Trabajo de Powerpoint - Unsaac - Ofimática
Trabajo de Powerpoint - Unsaac - OfimáticaTrabajo de Powerpoint - Unsaac - Ofimática
Trabajo de Powerpoint - Unsaac - Ofimática
 
ESCRITORIO DE WINDOWS 11 Y SUS ELEMENTOS
ESCRITORIO DE WINDOWS 11 Y SUS ELEMENTOSESCRITORIO DE WINDOWS 11 Y SUS ELEMENTOS
ESCRITORIO DE WINDOWS 11 Y SUS ELEMENTOS
 
2da. Clase Mecanografía e introducción a Excel (2).pptx
2da. Clase Mecanografía e introducción a Excel (2).pptx2da. Clase Mecanografía e introducción a Excel (2).pptx
2da. Clase Mecanografía e introducción a Excel (2).pptx
 

SEMINARIO: ACCESO A BASE DE DATOS CON JDBC

  • 1. Eric Gustavo Coronel Castillo www.linkedin.com/in/gcoronelc gcoronelc.blogspot.com gcoronelc@gmail.com SEMINARIO ACCESO A BASE DE DATOS CON JDBC
  • 2. Temas  Objetivo  Arquitectura JDBC  Drivers JDBC  Componentes del API JDBC  Cargar el Driver JDBC  Objeto Connection  Clase AccedoDB.java  Acceso al Taller
  • 3. Objetivo Desarrollar aplicaciones que accedan a bases de datos utilizando el API JDBC. Aplicación Java J D B C D B M S Servidor de Base de Datos Protocolo Propietario de Base de Datos Máquina Cliente
  • 5. Drivers JDBC • Los drivers JDBC son la implementación que cada proveedor ha realizado del API JDBC. • Existen cuatro tipos: – Tipo 1: JDBC - ODBC Bridge – Tipo 2: Native - API partly - Java – Tipo 3: JDBC - Net pure Java – Tipo 4: Native - Protocol pure Java • Los SGBD tendrán un fichero JAR ó ZIP con las clases del driver JDBC que habrá que añadir a la variable CLASSPATH del sistema. • Sun proporciona un driver JDBC-ODBC que permite el acceso a las fuentes de datos ODBC, como Microsoft Access, aunque no recomienda su uso en aplicaciones finales.
  • 7. Tipo 1: JDBC - ODBC Bridge – Viene incluido con el JDK. sun.jdbc.odbc.JdbcOdbcDriver – Traduce llamadas JDBC en llamadas ODBC. – Requiere de la instalación y configuración del cliente ODBC. Drivers JDBC
  • 8. Drivers JDBC Tipo 2: Native - API partly - Java – No viene incluido con el JDK. – Traduce llamadas JDBC a llamadas propietarias del SGBD. – Requiere instalación y configuración del cliente del SGBD.
  • 9. Drivers JDBC Tipo 3: JDBC - Net Pure Java – No viene incluido con el JDK – Conecta de manera remota vía TCP/IP con un daemon (listener) del SGBD (local o remoto). – El daemon traduce las llamadas al SGBD. – No requiere ninguna instalación previa.
  • 10. Drivers JDBC • Tipo 4: Native - Protocol Pure Java – No viene incluido con el JDK – Conecta de manera remota vía TCP/IP con el SGBD (local o remoto). – No requiere ninguna instalación previa.
  • 11. Componentes del API JDBC • Los componentes del API JDBC son: – Gestor de Drivers: java.sql.DriverManager – Conexión con la base de datos: java.sql.Connection – Ejecutar sentencias: java.sql.Statement – Manejo de resultado: java.sql.ResultSet – Sentencias con parámetros: java.sql.PreparedStatement – Procedimiento almacenado: java.sql.CallableStatement
  • 12. Cargar el Driver try { Class.forName("com.mysql.jdbc.Driver").newInstance(); } catch (ClassNotFoundException e) { System.out.println("Error loading driver: " + e.getMessage()); }
  • 13. Objeto Connection • Definir la URL de Conexión de BD String url = "jdbc:mysql://localhost:3306/eurekabank"; • Establecer la Conexión try { Class.forName("com.mysql.jdbc.Driver").newInstance(); String url = "jdbc:mysql://localhost:3306/eurekabank"; Connection cn = DriverManager.getConnection(url,"root",“admin"); } catch (Exception e) { System.out.println("Error loading driver: “ + e.getMessage()); } • Cerrar la Conexión cn.close();
  • 14. Objeto Connection • Obteniendo información del DBMS try { Class.forName("com.mysql.jdbc.Driver").newInstance(); String url = "jdbc:mysql://localhost:3306/eurekabank"; Connection cn = DriverManager.getConnection(url,"root","admin"); DatabaseMetaData dbmd = cn.getMetaData(); String dbms = dbmd.getDatabaseProductName(); String version = dbmd.getDatabaseProductVersion(); System.out.println("Database: " + dbms); System.out.println("Version: " + version ); } catch (Exception e) { System.out.println(e.getMessage()); }
  • 15. Instancia Única del Objeto Connection Base de Datos AccesoDB.java Business Component 12 3
  • 16. Instancia Única del Objeto Connection public class AccesoDB { private static Connection cn = null; public static Connection getConnection() throws SQLException { Connection cn = null; try { Class.forName("com.mysql.jdbc.Driver").newInstance(); String url = "jdbc:mysql://localhost:3306/eurekabank"; cn = DriverManager.getConnection(url, "eureka", "admin"); } catch (ClassNotFoundException e) { throw new SQLException("No se encuentra el driver."); } catch(SQLException e){ throw e; } catch(Exception e){ throw new SQLException("No se tiene acceso a la BD."); } return cn; } }