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”
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
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.