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

APIs, REST e RESTful: O que os programadores precisam saber? - Marcos Echevar...
APIs, REST e RESTful: O que os programadores precisam saber? - Marcos Echevar...APIs, REST e RESTful: O que os programadores precisam saber? - Marcos Echevar...
APIs, REST e RESTful: O que os programadores precisam saber? - Marcos Echevar...Tchelinux
 
Tipos de-datos-power-designer
Tipos de-datos-power-designerTipos de-datos-power-designer
Tipos de-datos-power-designerWen MuZo
 
Uso de Excepciones en JAVA
Uso de Excepciones en JAVAUso de Excepciones en JAVA
Uso de Excepciones en JAVAinnovalabcun
 
Patron de Desarrollo Modelo Vista Controlador
Patron de Desarrollo Modelo Vista ControladorPatron de Desarrollo Modelo Vista Controlador
Patron de Desarrollo Modelo Vista ControladorHenry Vargas
 
Monitoramento de Aplicações Web Modernas com Zabbix
Monitoramento de Aplicações Web Modernas com ZabbixMonitoramento de Aplicações Web Modernas com Zabbix
Monitoramento de Aplicações Web Modernas com ZabbixAndré Déo
 
Introduction to laravel framework
Introduction to laravel frameworkIntroduction to laravel framework
Introduction to laravel frameworkAhmad Fatoni
 
Base de Datos: introduccion a sistemas de base de datos
Base de Datos: introduccion a  sistemas de base de datosBase de Datos: introduccion a  sistemas de base de datos
Base de Datos: introduccion a sistemas de base de datosYefri Altamirano
 
Introduction to Spring Framework
Introduction to Spring FrameworkIntroduction to Spring Framework
Introduction to Spring FrameworkHùng Nguyễn Huy
 
Programación en N Capas .Net
Programación en N Capas .NetProgramación en N Capas .Net
Programación en N Capas .NetGermán Küber
 
Spring Framework - MVC
Spring Framework - MVCSpring Framework - MVC
Spring Framework - MVCDzmitry Naskou
 
Curso Básico de Pl Sql Oracle
Curso Básico de Pl Sql OracleCurso Básico de Pl Sql Oracle
Curso Básico de Pl Sql Oracleluisguil
 
Ejercicios resueltos de sql
Ejercicios resueltos de sqlEjercicios resueltos de sql
Ejercicios resueltos de sqlJulian Benavidez
 

La actualidad más candente (20)

Arquitectura fisica y logica
Arquitectura fisica y logicaArquitectura fisica y logica
Arquitectura fisica y logica
 
Bd no sql conceptos basicos
Bd no sql conceptos basicosBd no sql conceptos basicos
Bd no sql conceptos basicos
 
APIs, REST e RESTful: O que os programadores precisam saber? - Marcos Echevar...
APIs, REST e RESTful: O que os programadores precisam saber? - Marcos Echevar...APIs, REST e RESTful: O que os programadores precisam saber? - Marcos Echevar...
APIs, REST e RESTful: O que os programadores precisam saber? - Marcos Echevar...
 
Tipos de-datos-power-designer
Tipos de-datos-power-designerTipos de-datos-power-designer
Tipos de-datos-power-designer
 
Conceptos Basicos Oracle
Conceptos Basicos OracleConceptos Basicos Oracle
Conceptos Basicos Oracle
 
Apache CouchDB
Apache CouchDBApache CouchDB
Apache CouchDB
 
Uso de Excepciones en JAVA
Uso de Excepciones en JAVAUso de Excepciones en JAVA
Uso de Excepciones en JAVA
 
Diagramas de componentes
Diagramas de componentesDiagramas de componentes
Diagramas de componentes
 
Patron de Desarrollo Modelo Vista Controlador
Patron de Desarrollo Modelo Vista ControladorPatron de Desarrollo Modelo Vista Controlador
Patron de Desarrollo Modelo Vista Controlador
 
Monitoramento de Aplicações Web Modernas com Zabbix
Monitoramento de Aplicações Web Modernas com ZabbixMonitoramento de Aplicações Web Modernas com Zabbix
Monitoramento de Aplicações Web Modernas com Zabbix
 
Java Spring
Java SpringJava Spring
Java Spring
 
Introduction to laravel framework
Introduction to laravel frameworkIntroduction to laravel framework
Introduction to laravel framework
 
Base de Datos: introduccion a sistemas de base de datos
Base de Datos: introduccion a  sistemas de base de datosBase de Datos: introduccion a  sistemas de base de datos
Base de Datos: introduccion a sistemas de base de datos
 
Introduction to Spring Framework
Introduction to Spring FrameworkIntroduction to Spring Framework
Introduction to Spring Framework
 
Java con base de datos
Java con base de datosJava con base de datos
Java con base de datos
 
1. Modelo de Datos
1. Modelo de Datos1. Modelo de Datos
1. Modelo de Datos
 
Programación en N Capas .Net
Programación en N Capas .NetProgramación en N Capas .Net
Programación en N Capas .Net
 
Spring Framework - MVC
Spring Framework - MVCSpring Framework - MVC
Spring Framework - MVC
 
Curso Básico de Pl Sql Oracle
Curso Básico de Pl Sql OracleCurso Básico de Pl Sql Oracle
Curso Básico de Pl Sql Oracle
 
Ejercicios resueltos de sql
Ejercicios resueltos de sqlEjercicios resueltos de sql
Ejercicios resueltos de sql
 

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 AccesoBD 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

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 INFORMACIONEric 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
 

AccesoBD 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; } }