SlideShare una empresa de Scribd logo
1 de 16
TRABAJO DE INVESTIGACIÓN
INGENIERÍA DE SISTEMAS Y TELEMÁTICA.
ASIGNATURA: “LABORATORIO DE PROGRAMACION II”.
PROFESOR: MARCO AURELIO PORRO CHULLI
INTEGRANTE: ROMERO JULCA KARIN YENINA
SAAVEDRA GARCIA JHERSI ANALI.
VILCHEZ CRUZADO YAKELINE
CICLO: V
AULA: 402
SECCION: “B”
2017
“AÑO DEL BUEN SERVICIO CIUDADANO”
“El ingeniero de sistemas es el
puente entre el problema a resolver
y cómo se transforma en una
solución”
CONECTIVIDAD A BASES DE DATOS JAVA
JDBC
QUE ES UN JDBC?
JDBC es una interfaz que
permite a un programa java
ejecutar instrucciones SQL
dentro de bases de datos
relacionales.
– Las bases de datos deben
seguir el estándarANSI
SQL-9
PARA QUE SIRVE?
Es usado para enviar
comandos SQL hacia una
base de datos relacional, que
puede ser Oracle, Infomix,
SyBase, etc. Una integración
de SQL hacia Java, esdecir
que las sentencias SQL se
puedan mezclar con Java, por
ejemplo, que una variable de
Java pueda ser usada en una
sentencia SQL para recibir o
HERRAMIENTAS
:
 MYSQL
 MYSQL CONECTOR/J
(Driver tipo 4 MYSQL)
CAPA DE ACCESO A DATOS
Lógica de negocio
Capa de datos DAO
MYSQL CONECTOR/J
(Driver JDBC)
MYSQL
HISTORIA DEL JDBC
Existe desde 1996, y fue incluido desde
la versión 1.1 de Java Development Kit
por JavaSoft, aunque también se hizo
disponible para usarse con JDK 1.02.
El problema de usar JDBC con el JDK
1.02 es que los usuarios comunes tenían
que agregar a su maquina virtual de
Java las clases que implementan
JDBC, lo cual era muy engorroso y
difícil. Es por esto que desde la versión
de JDK
ARQUITECTURA
API JDBC
Drive Manager
JDBC
Bridge
JDBC/ODBC
Driver
ODBC
Driver
JDBC
DBMS DBMS
 TIPO 1: (JDBC-ODBC Bridge) delegan el acceso a datos a una
API ODBC
 TIPO 2: Usan código nativo para el acceso a datos y proveen un
envoltorio de clases java para las llamadas al driver. Es por tanto
específico para una plataforma
 TIPO 3: Driver 100% Java / Protocolo nativo. Se comunica con el
SGBD utilizando el protocolo de red nativo del servidor
 TIPO 4: Driver 100% Java / Protocolo independiente. Hace las
peticiones de datos a un intermediario en un protocolo de red
independiente del SGB
JDBC
TYPE I
BRIDGE
TYPE II
NATIVE
TYPE III
MIDDLEWAR
E
TYPE IV
PURE
ODBC
CLI.(Lib)
MIDDLEWAR
E
Server
ODBC
Driver
CUATRO TIPOS DE DRIVERS JDB
PUENTE JDBC-ODBC
es un driver JDBC del tipo 1 que traduce operaciones JDBC en llamadas a la
API ODBC. Estas llamadas son entonces cursadas a la base de datos mediante el
driver ODBC apropiado.
Este driver se salta la capa ODBC y habla directamente con la librería nativa del fabricante
del sistema DBMS (como pudiera ser DB-Library para Microsoft SQL Server o CT-Lib para
Sybase SQL Server). Este driver es un driver 100% Java pero aún así necesita la existencia
de un código binario (la librería DBMS) en la máquina del cliente, con las limitaciones y
problemas que esto implica.
JAVA/BINARIO
100% JAVA/PROTOCOLO NATIVO
Es un driver realizado completamente en Java que se comunica con el servidor DBMS utilizando el
protocolo de red nativo del servidor. De esta forma, el driver no necesita intermediarios para hablar con
el servidor y convierte todas las peticiones JDBC en peticiones de red contra el servidor. La ventaja de
este tipo de driver es que es una solución 100% Java y, por lo tanto, independiente de la máquina en la
que se va a ejecutar el programa.
% JAVA/PROTOCOLO INDEPENDIENTE
Esta es la opción más flexible, se trata de un driver 100% Java / Protocolo independiente, que requiere la
presencia de un intermediario en el servidor. En este caso, el driver JDBC hace las peticiones de datos al
intermediario en un protocolo de red independiente del servidor DBMS. El intermediario a su vez, que está
ubicado en el lado del servidor, convierte las peticiones JDBC en peticiones nativas del sistema DBMS. La
ventaja de este método es inmediata
CREANDO UNA CONEXIÓN
Para establecer una conexión con el controlador de base de
datos que queremos utilizar, debemos realizar dos pasos: (1)
cargar el driver y (2) hacer la conexión.
Cargar los Drivers:
Cargar el driver o drivers
que queremos utilizar es
muy sencillo y sólo implica
una línea de código.
ejemplo
 queremos utilizar el puente JDBC-ODBC, se
cargaría la siguiente línea de código.
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
La documentación del driver nos dará el nombre de la clase a utilizar.
ejemplo
si el nombre de la clase es jdbc.DriverXYZ,
cargaríamos el driver con esta línea de código.
Class.forName("jdbc.DriverXYZ");
No necesitamos crear un ejemplar de un driver y registrarlo con el
DriverManager porque la llamada a Class.forName lo hace automáticamente. Si
hubiéramos creado nuestro propio ejemplar, crearíamos un duplicado
innecesario, pero no pasaría nada. Una vez cargado el driver, es posible hacer
una conexión con un controlador de base de datos.
El segundo paso para establecer una conexión es tener el driver
apropiado conectado al controlador de base de datos. La siguiente
línea de código ilustra la idea general.
Connection con = DriverManager.getConnection(url, "myLogin", "myPassword");
Si estamos utilizando un puente JDBC desarrollado por una tercera parte, la
documentación nos dirá el subprotocolo a utilizar, es decir, qué poner después de jdbc: en
la URL. Por ejemplo, si el desarrollador ha registrado el nombre "acme" como el
subprotocolo, la primera y segunda parte de la URL de JDBC serán jdbc:acme:. La
documentación del driver también nos dará las guías para el resto de la URL del JDBC.
Esta última parte de la URL suministra información para la identificación de los datos
fuente.
Si uno de los drivers que hemos cargado reconoce la URL suministrada por el método
DriverManager.getConnection, dicho driver establecerá una conexión con el controlador de base de datos
especificado en la URL del JDBC.
La clase DriverManager, como su nombre indica, maneja todos los detalles del establecimiento de la
conexión detrás de la escena. A menos que estemos escribiendo un driver, posiblemente nunca utilizaremos
ningún método del interface Driver, y el único método de DriverManager que realmente necesitaremos
conocer es DriverManager.getConnection.
La conexión devuelta por el método DriverManager.getConnection es una conexión abierta que
se puede utilizar para detalles del establecimiento de la conexión detrás de la escena. A menos que
estemos escribiendo un driver, posiblemente nunca utilizaremos ningún método del interface
Driver, y el único método de DriverManager que realmente necesitaremos conocer es
DriverManager.getConnection. La conexión devuelta por el método
DriverManager.getConnection es una conexión abierta que se puede utilizar para crear
sentencias JDBC que pasen nuestras sentencias SQL al controlador de la base de datos. En el
ejemplo anterior, con es una conexión abierta.
Jdbc

Más contenido relacionado

La actualidad más candente (19)

Jdbc
JdbcJdbc
Jdbc
 
Jdbc diapositivva
Jdbc diapositivvaJdbc diapositivva
Jdbc diapositivva
 
Jdbc
JdbcJdbc
Jdbc
 
Jdbc
JdbcJdbc
Jdbc
 
Jdbc Mysql
Jdbc MysqlJdbc Mysql
Jdbc Mysql
 
JDBC
JDBCJDBC
JDBC
 
Jdbc
JdbcJdbc
Jdbc
 
JDBC
JDBCJDBC
JDBC
 
Curso Básico de JDBC
Curso Básico de JDBCCurso Básico de JDBC
Curso Básico de JDBC
 
JDBC MONOGRAFIA
JDBC MONOGRAFIAJDBC MONOGRAFIA
JDBC MONOGRAFIA
 
Jdbc
JdbcJdbc
Jdbc
 
Jbdc
JbdcJbdc
Jbdc
 
Jdbc
JdbcJdbc
Jdbc
 
Jdbc
JdbcJdbc
Jdbc
 
Jdbc
JdbcJdbc
Jdbc
 
Qué es el odbc
Qué es el odbcQué es el odbc
Qué es el odbc
 
JDBC(conjunto de clases e interfaces)
JDBC(conjunto de clases e interfaces)JDBC(conjunto de clases e interfaces)
JDBC(conjunto de clases e interfaces)
 
T2 - JDBC
T2 - JDBCT2 - JDBC
T2 - JDBC
 
Diapositivas de jdbc
Diapositivas de jdbcDiapositivas de jdbc
Diapositivas de jdbc
 

Similar a Jdbc (16)

JAVA DATABASE CONNECTIVITY (JDBC)
  JAVA DATABASE CONNECTIVITY (JDBC)  JAVA DATABASE CONNECTIVITY (JDBC)
JAVA DATABASE CONNECTIVITY (JDBC)
 
Java con base de datos
Java con base de datosJava con base de datos
Java con base de datos
 
Coneccion
ConeccionConeccion
Coneccion
 
Acceso a datos con JDBC.pdf
Acceso a datos con JDBC.pdfAcceso a datos con JDBC.pdf
Acceso a datos con JDBC.pdf
 
Qué es jdbc
Qué es jdbcQué es jdbc
Qué es jdbc
 
Jdbc(JAVA DATABASE CONNECTIVITY)
Jdbc(JAVA DATABASE CONNECTIVITY)Jdbc(JAVA DATABASE CONNECTIVITY)
Jdbc(JAVA DATABASE CONNECTIVITY)
 
Trabajo de jdbc
Trabajo de jdbcTrabajo de jdbc
Trabajo de jdbc
 
Trabajo de jdbc
Trabajo de jdbcTrabajo de jdbc
Trabajo de jdbc
 
JCBC
JCBCJCBC
JCBC
 
Java con base de datos
Java con base de datosJava con base de datos
Java con base de datos
 
Jdbc laboratorio de programacion ii
Jdbc   laboratorio de programacion iiJdbc   laboratorio de programacion ii
Jdbc laboratorio de programacion ii
 
Java y Bases de Datos
Java y Bases de DatosJava y Bases de Datos
Java y Bases de Datos
 
Java y Bases Datos
Java y Bases DatosJava y Bases Datos
Java y Bases Datos
 
Bases Datos en java
Bases Datos en javaBases Datos en java
Bases Datos en java
 
Jdbc
JdbcJdbc
Jdbc
 
Manejo conexbd
Manejo conexbdManejo conexbd
Manejo conexbd
 

Más de jhersi saavedra garcia (18)

Android con Base de Datos
Android con Base de DatosAndroid con Base de Datos
Android con Base de Datos
 
Diseño de Menús en Android Studio
Diseño de Menús en Android StudioDiseño de Menús en Android Studio
Diseño de Menús en Android Studio
 
Layouts - Android Studio
Layouts - Android StudioLayouts - Android Studio
Layouts - Android Studio
 
Controles Básicos de Android Studio
Controles Básicos de Android StudioControles Básicos de Android Studio
Controles Básicos de Android Studio
 
Java y XML
Java y XMLJava y XML
Java y XML
 
Programación de Aplicaciones Móviles
Programación de Aplicaciones MóvilesProgramación de Aplicaciones Móviles
Programación de Aplicaciones Móviles
 
Aplicaciones Móviles
Aplicaciones Móviles Aplicaciones Móviles
Aplicaciones Móviles
 
Android studio
Android studioAndroid studio
Android studio
 
Gobierno Electrónico
Gobierno Electrónico Gobierno Electrónico
Gobierno Electrónico
 
Empresa
Empresa Empresa
Empresa
 
Reportes
ReportesReportes
Reportes
 
Objeto prepared statement
Objeto prepared statementObjeto prepared statement
Objeto prepared statement
 
Control JTable con Base de Datos
Control JTable con Base de DatosControl JTable con Base de Datos
Control JTable con Base de Datos
 
Presentación1
Presentación1Presentación1
Presentación1
 
Statement
StatementStatement
Statement
 
Java con base de datos
Java con base  de datosJava con base  de datos
Java con base de datos
 
Java
JavaJava
Java
 
Campo laboral de un ingeniero de sistemas
Campo laboral de un ingeniero de sistemasCampo laboral de un ingeniero de sistemas
Campo laboral de un ingeniero de sistemas
 

Último

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
 
Fijaciones de balcones prefabricados de hormigón - RECENSE
Fijaciones de balcones prefabricados de hormigón - RECENSEFijaciones de balcones prefabricados de hormigón - RECENSE
Fijaciones de balcones prefabricados de hormigón - RECENSEANDECE
 
Descubrimiento de la penicilina en la segunda guerra mundial
Descubrimiento de la penicilina en la segunda guerra mundialDescubrimiento de la penicilina en la segunda guerra mundial
Descubrimiento de la penicilina en la segunda guerra mundialyajhairatapia
 
Peligros de Excavaciones y Zanjas presentacion
Peligros de Excavaciones y Zanjas presentacionPeligros de Excavaciones y Zanjas presentacion
Peligros de Excavaciones y Zanjas presentacionOsdelTacusiPancorbo
 
Espontaneidad de las reacciones y procesos espontáneos
Espontaneidad de las reacciones y procesos espontáneosEspontaneidad de las reacciones y procesos espontáneos
Espontaneidad de las reacciones y procesos espontáneosOscarGonzalez231938
 
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
 
SOLIDOS DE REVOLUCION, aplicaciones de integrales definidas
SOLIDOS DE REVOLUCION, aplicaciones de integrales definidasSOLIDOS DE REVOLUCION, aplicaciones de integrales definidas
SOLIDOS DE REVOLUCION, aplicaciones de integrales definidasLeonardoMendozaDvila
 
Electromagnetismo Fisica FisicaFisica.pdf
Electromagnetismo Fisica FisicaFisica.pdfElectromagnetismo Fisica FisicaFisica.pdf
Electromagnetismo Fisica FisicaFisica.pdfAnonymous0pBRsQXfnx
 
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
 
Trabajo en altura de acuerdo a la normativa peruana
Trabajo en altura de acuerdo a la normativa peruanaTrabajo en altura de acuerdo a la normativa peruana
Trabajo en altura de acuerdo a la normativa peruana5extraviado
 
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
 
Revista estudiantil, trabajo final Materia ingeniería de Proyectos
Revista estudiantil, trabajo final Materia ingeniería de ProyectosRevista estudiantil, trabajo final Materia ingeniería de Proyectos
Revista estudiantil, trabajo final Materia ingeniería de ProyectosJeanCarlosLorenzo1
 
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
 
Conservatorio de danza Kina Jiménez de Almería
Conservatorio de danza Kina Jiménez de AlmeríaConservatorio de danza Kina Jiménez de Almería
Conservatorio de danza Kina Jiménez de AlmeríaANDECE
 
3.3 Tipos de conexiones en los transformadores trifasicos.pdf
3.3 Tipos de conexiones en los transformadores trifasicos.pdf3.3 Tipos de conexiones en los transformadores trifasicos.pdf
3.3 Tipos de conexiones en los transformadores trifasicos.pdfRicardoRomeroUrbano
 
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
 
5.1 MATERIAL COMPLEMENTARIO Sesión 02.pptx
5.1 MATERIAL COMPLEMENTARIO Sesión 02.pptx5.1 MATERIAL COMPLEMENTARIO Sesión 02.pptx
5.1 MATERIAL COMPLEMENTARIO Sesión 02.pptxNayeliZarzosa1
 
Estacionamientos, Existen 3 tipos, y tienen diferentes ángulos de inclinación
Estacionamientos, Existen 3 tipos, y tienen diferentes ángulos de inclinaciónEstacionamientos, Existen 3 tipos, y tienen diferentes ángulos de inclinación
Estacionamientos, Existen 3 tipos, y tienen diferentes ángulos de inclinaciónAlexisHernandez885688
 
Topografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la IngenieríasTopografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la IngenieríasSegundo Silva Maguiña
 
Físicas 1: Ecuaciones Dimensionales y Vectores
Físicas 1: Ecuaciones Dimensionales y VectoresFísicas 1: Ecuaciones Dimensionales y Vectores
Físicas 1: Ecuaciones Dimensionales y VectoresSegundo Silva Maguiña
 

Último (20)

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)
 
Fijaciones de balcones prefabricados de hormigón - RECENSE
Fijaciones de balcones prefabricados de hormigón - RECENSEFijaciones de balcones prefabricados de hormigón - RECENSE
Fijaciones de balcones prefabricados de hormigón - RECENSE
 
Descubrimiento de la penicilina en la segunda guerra mundial
Descubrimiento de la penicilina en la segunda guerra mundialDescubrimiento de la penicilina en la segunda guerra mundial
Descubrimiento de la penicilina en la segunda guerra mundial
 
Peligros de Excavaciones y Zanjas presentacion
Peligros de Excavaciones y Zanjas presentacionPeligros de Excavaciones y Zanjas presentacion
Peligros de Excavaciones y Zanjas presentacion
 
Espontaneidad de las reacciones y procesos espontáneos
Espontaneidad de las reacciones y procesos espontáneosEspontaneidad de las reacciones y procesos espontáneos
Espontaneidad de las reacciones y procesos espontáneos
 
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
 
SOLIDOS DE REVOLUCION, aplicaciones de integrales definidas
SOLIDOS DE REVOLUCION, aplicaciones de integrales definidasSOLIDOS DE REVOLUCION, aplicaciones de integrales definidas
SOLIDOS DE REVOLUCION, aplicaciones de integrales definidas
 
Electromagnetismo Fisica FisicaFisica.pdf
Electromagnetismo Fisica FisicaFisica.pdfElectromagnetismo Fisica FisicaFisica.pdf
Electromagnetismo Fisica FisicaFisica.pdf
 
VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)
VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)
VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)
 
Trabajo en altura de acuerdo a la normativa peruana
Trabajo en altura de acuerdo a la normativa peruanaTrabajo en altura de acuerdo a la normativa peruana
Trabajo en altura de acuerdo a la normativa peruana
 
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
 
Revista estudiantil, trabajo final Materia ingeniería de Proyectos
Revista estudiantil, trabajo final Materia ingeniería de ProyectosRevista estudiantil, trabajo final Materia ingeniería de Proyectos
Revista estudiantil, trabajo final Materia ingeniería de Proyectos
 
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
 
Conservatorio de danza Kina Jiménez de Almería
Conservatorio de danza Kina Jiménez de AlmeríaConservatorio de danza Kina Jiménez de Almería
Conservatorio de danza Kina Jiménez de Almería
 
3.3 Tipos de conexiones en los transformadores trifasicos.pdf
3.3 Tipos de conexiones en los transformadores trifasicos.pdf3.3 Tipos de conexiones en los transformadores trifasicos.pdf
3.3 Tipos de conexiones en los transformadores trifasicos.pdf
 
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...
 
5.1 MATERIAL COMPLEMENTARIO Sesión 02.pptx
5.1 MATERIAL COMPLEMENTARIO Sesión 02.pptx5.1 MATERIAL COMPLEMENTARIO Sesión 02.pptx
5.1 MATERIAL COMPLEMENTARIO Sesión 02.pptx
 
Estacionamientos, Existen 3 tipos, y tienen diferentes ángulos de inclinación
Estacionamientos, Existen 3 tipos, y tienen diferentes ángulos de inclinaciónEstacionamientos, Existen 3 tipos, y tienen diferentes ángulos de inclinación
Estacionamientos, Existen 3 tipos, y tienen diferentes ángulos de inclinación
 
Topografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la IngenieríasTopografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la Ingenierías
 
Físicas 1: Ecuaciones Dimensionales y Vectores
Físicas 1: Ecuaciones Dimensionales y VectoresFísicas 1: Ecuaciones Dimensionales y Vectores
Físicas 1: Ecuaciones Dimensionales y Vectores
 

Jdbc

  • 1. TRABAJO DE INVESTIGACIÓN INGENIERÍA DE SISTEMAS Y TELEMÁTICA. ASIGNATURA: “LABORATORIO DE PROGRAMACION II”. PROFESOR: MARCO AURELIO PORRO CHULLI INTEGRANTE: ROMERO JULCA KARIN YENINA SAAVEDRA GARCIA JHERSI ANALI. VILCHEZ CRUZADO YAKELINE CICLO: V AULA: 402 SECCION: “B” 2017 “AÑO DEL BUEN SERVICIO CIUDADANO”
  • 2. “El ingeniero de sistemas es el puente entre el problema a resolver y cómo se transforma en una solución”
  • 3. CONECTIVIDAD A BASES DE DATOS JAVA JDBC
  • 4. QUE ES UN JDBC? JDBC es una interfaz que permite a un programa java ejecutar instrucciones SQL dentro de bases de datos relacionales. – Las bases de datos deben seguir el estándarANSI SQL-9 PARA QUE SIRVE? Es usado para enviar comandos SQL hacia una base de datos relacional, que puede ser Oracle, Infomix, SyBase, etc. Una integración de SQL hacia Java, esdecir que las sentencias SQL se puedan mezclar con Java, por ejemplo, que una variable de Java pueda ser usada en una sentencia SQL para recibir o
  • 5. HERRAMIENTAS :  MYSQL  MYSQL CONECTOR/J (Driver tipo 4 MYSQL) CAPA DE ACCESO A DATOS Lógica de negocio Capa de datos DAO MYSQL CONECTOR/J (Driver JDBC) MYSQL HISTORIA DEL JDBC Existe desde 1996, y fue incluido desde la versión 1.1 de Java Development Kit por JavaSoft, aunque también se hizo disponible para usarse con JDK 1.02. El problema de usar JDBC con el JDK 1.02 es que los usuarios comunes tenían que agregar a su maquina virtual de Java las clases que implementan JDBC, lo cual era muy engorroso y difícil. Es por esto que desde la versión de JDK
  • 6. ARQUITECTURA API JDBC Drive Manager JDBC Bridge JDBC/ODBC Driver ODBC Driver JDBC DBMS DBMS  TIPO 1: (JDBC-ODBC Bridge) delegan el acceso a datos a una API ODBC  TIPO 2: Usan código nativo para el acceso a datos y proveen un envoltorio de clases java para las llamadas al driver. Es por tanto específico para una plataforma  TIPO 3: Driver 100% Java / Protocolo nativo. Se comunica con el SGBD utilizando el protocolo de red nativo del servidor  TIPO 4: Driver 100% Java / Protocolo independiente. Hace las peticiones de datos a un intermediario en un protocolo de red independiente del SGB
  • 7. JDBC TYPE I BRIDGE TYPE II NATIVE TYPE III MIDDLEWAR E TYPE IV PURE ODBC CLI.(Lib) MIDDLEWAR E Server ODBC Driver CUATRO TIPOS DE DRIVERS JDB
  • 8. PUENTE JDBC-ODBC es un driver JDBC del tipo 1 que traduce operaciones JDBC en llamadas a la API ODBC. Estas llamadas son entonces cursadas a la base de datos mediante el driver ODBC apropiado.
  • 9. Este driver se salta la capa ODBC y habla directamente con la librería nativa del fabricante del sistema DBMS (como pudiera ser DB-Library para Microsoft SQL Server o CT-Lib para Sybase SQL Server). Este driver es un driver 100% Java pero aún así necesita la existencia de un código binario (la librería DBMS) en la máquina del cliente, con las limitaciones y problemas que esto implica. JAVA/BINARIO
  • 10. 100% JAVA/PROTOCOLO NATIVO Es un driver realizado completamente en Java que se comunica con el servidor DBMS utilizando el protocolo de red nativo del servidor. De esta forma, el driver no necesita intermediarios para hablar con el servidor y convierte todas las peticiones JDBC en peticiones de red contra el servidor. La ventaja de este tipo de driver es que es una solución 100% Java y, por lo tanto, independiente de la máquina en la que se va a ejecutar el programa.
  • 11. % JAVA/PROTOCOLO INDEPENDIENTE Esta es la opción más flexible, se trata de un driver 100% Java / Protocolo independiente, que requiere la presencia de un intermediario en el servidor. En este caso, el driver JDBC hace las peticiones de datos al intermediario en un protocolo de red independiente del servidor DBMS. El intermediario a su vez, que está ubicado en el lado del servidor, convierte las peticiones JDBC en peticiones nativas del sistema DBMS. La ventaja de este método es inmediata
  • 12. CREANDO UNA CONEXIÓN Para establecer una conexión con el controlador de base de datos que queremos utilizar, debemos realizar dos pasos: (1) cargar el driver y (2) hacer la conexión. Cargar los Drivers: Cargar el driver o drivers que queremos utilizar es muy sencillo y sólo implica una línea de código. ejemplo  queremos utilizar el puente JDBC-ODBC, se cargaría la siguiente línea de código. Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
  • 13. La documentación del driver nos dará el nombre de la clase a utilizar. ejemplo si el nombre de la clase es jdbc.DriverXYZ, cargaríamos el driver con esta línea de código. Class.forName("jdbc.DriverXYZ"); No necesitamos crear un ejemplar de un driver y registrarlo con el DriverManager porque la llamada a Class.forName lo hace automáticamente. Si hubiéramos creado nuestro propio ejemplar, crearíamos un duplicado innecesario, pero no pasaría nada. Una vez cargado el driver, es posible hacer una conexión con un controlador de base de datos.
  • 14. El segundo paso para establecer una conexión es tener el driver apropiado conectado al controlador de base de datos. La siguiente línea de código ilustra la idea general. Connection con = DriverManager.getConnection(url, "myLogin", "myPassword"); Si estamos utilizando un puente JDBC desarrollado por una tercera parte, la documentación nos dirá el subprotocolo a utilizar, es decir, qué poner después de jdbc: en la URL. Por ejemplo, si el desarrollador ha registrado el nombre "acme" como el subprotocolo, la primera y segunda parte de la URL de JDBC serán jdbc:acme:. La documentación del driver también nos dará las guías para el resto de la URL del JDBC. Esta última parte de la URL suministra información para la identificación de los datos fuente.
  • 15. Si uno de los drivers que hemos cargado reconoce la URL suministrada por el método DriverManager.getConnection, dicho driver establecerá una conexión con el controlador de base de datos especificado en la URL del JDBC. La clase DriverManager, como su nombre indica, maneja todos los detalles del establecimiento de la conexión detrás de la escena. A menos que estemos escribiendo un driver, posiblemente nunca utilizaremos ningún método del interface Driver, y el único método de DriverManager que realmente necesitaremos conocer es DriverManager.getConnection. La conexión devuelta por el método DriverManager.getConnection es una conexión abierta que se puede utilizar para detalles del establecimiento de la conexión detrás de la escena. A menos que estemos escribiendo un driver, posiblemente nunca utilizaremos ningún método del interface Driver, y el único método de DriverManager que realmente necesitaremos conocer es DriverManager.getConnection. La conexión devuelta por el método DriverManager.getConnection es una conexión abierta que se puede utilizar para crear sentencias JDBC que pasen nuestras sentencias SQL al controlador de la base de datos. En el ejemplo anterior, con es una conexión abierta.