18
Carrera: Ingeniería de sistemas y telemática Curso: Desarrollo de software i. Tema: JDBC Docente: Marco Aurelio Porro Chulli Integrantes: Erlin Darwin herrera cieza. Yosmer Aguilar cabrera.

JDBC

Embed Size (px)

Citation preview

Page 1: JDBC

Carrera: Ingeniería de sistemas y telemáticaCurso: Desarrollo de software i.Tema: JDBCDocente: Marco Aurelio Porro ChulliIntegrantes:

Erlin Darwin herrera cieza. Yosmer Aguilar cabrera.

Page 2: JDBC

Definición:

En esta capa se puede hacer uso de una propiedad

denominada persistencia de objetos, que permite vincular

objetos de bases de datos relacionales a objetos de

lenguajes de programación como Java, para aumentar el

nivel de abstracción y facilitar el acceso a los datos desde

la capa de negocio.

Page 3: JDBC

USAR LA CREACIÓN DE REFLEJO

DE LA BASE DE DATOS (JDBC)

Page 4: JDBC

La creación de reflejo de la base de datos, implementada para cada base de datos, conserva una copia de una base de datos de producción de SQL Server en un servidor en espera.

La base de datos de producción se llama base de datos principal y la copia en espera se llama base de datos reflejada.

Si el servidor principal genera un error, el servidor reflejado puede convertir su base de datos en la base de datos principal a través de un proceso denominado conmutación por error.

Por ejemplo, Partner_A y Partner_B son dos servidores asociados, con la base de datos principal inicialmente en Partner_A como servidor principal y la base de datos reflejada en Partner_B como servidor reflejado.

Cuando Partner_A se vuelve a unir a la sesión de creación de reflejo, se convierte en el servidor reflejado y su base de datos pasa a ser la base de datos reflejada.

Page 5: JDBC

CONFIGURACION MYSQL PARA

EL PROYECTO DE NETBEANS

Page 6: JDBC

En la ventana emergente Add Library hacemos clic en el boton Manage Libraries.

En la venta Library Manager hacemos clic Nombre en el boton New Library En la ventana emergente damos el nombre de la libreria y en el tipo se deja el valor predeterminado y damos clic en ok New Library ok En la ventana Library Manager seleccionamos la librería recién creada y hacemos clic en el boton Add JAR/Folder.

Clic en el boton Ok, clic en el boton Add Library y finalmente clic en el boton Ok.

Page 7: JDBC

Windows en general no sabe nada acerca de las bases de datos, pero define el estándar ODBC consistente en un conjunto de primitivas que cualquier driver o fuente ODBC debe ser capaz de entender y manipular.

Con JDBC ocurre exactamente lo mismo: JDBC es una especificación de un conjunto de clases y métodos de operación que permiten a cualquier programa Java acceder a sistemas de bases de datos de forma homogénea.

Toda la conectividad de bases de datos de Java se basa en sentencias SQL, por lo que se hace imprescindible un conocimiento adecuado de SQL para realizar cualquier clase de operación de bases de datos.

Esto significa que el driver JDBC especifico para conectarse con la base de datos, debe residir en el sistema local.

Page 8: JDBC

DEFINICION DE JDBC

Page 9: JDBC

JDBC es una API de Java para ejecutar sentencias SQL. (Como punto de interés, JDBC es nombre de una marca registrada y no es un acrónimo, a pesar de todo, JDBC es a menudo interpretado como “Java DataBase Connectivity”). Consta de un conjunto de clases e interfaces escrito en lenguaje de programación Java. Usando JDBC es fácil enviar sentencias SQL a virtualmente cualquier base de datos relacional. En otras palabras, con la API JDBC no es necesario escribir un programa para acceder a una base de datos tipo Access, otro programa para acceder a una base de datos tipo Oracle y asi para cada tipo de base de datos.

Uno puede escribir un solo programa usando la API JDBC y el programa sera capaz de enviar sentencias SQL a la base de datos apropiada.

JDBC extiende lo que puede hacerse con Java.

Por ejemplo, con Java y la API de JDBC, es posible publicar una pagina web que usa informacion obtenida de una base de datos remota.

Page 10: JDBC

TIPOS

Tipo 1: Java -> ODBC

Tipo 2: Java -> Protocolo DBMS

Tipo 3: Java -> Servidor JDBC

Tipo 4: Java -> DBMS

Page 11: JDBC

Tipo 1: Java -> ODBC

Esta arquitectura, tiene como ventaja importante que permite la utilización de drivers ODBC existentes, pero la desventaja de que hay que instalarlos en cada máquina, así como el cliente de DBMS.

De esta forma, en el cliente se requiere:  DRIVERS JDBC DRIVERS ODBC (se crea un Data Source con la

información de conexión) CLIENTE DBMS

Page 12: JDBC

Tipo 2: Java -> Protocolo DBMS

Con esta implementación, en el cliente se tienen los DRIVERS JDBC que se comunican directamente (en forma nativa) con el CLIENTE Oracle, Sybase, Informix, DB2, o cualquier otro DBMS. De esta forma, entonces, al igual que el driver de tipo 1, este también requiere que se instale en cada máquina cliente, los DRIVERS JDBC y CLIENTE DBMS.

Page 13: JDBC

Tipo 3: Java -> Servidor JDBC

Esta clase de driver traduce llamadas JDBC en un protocolo de red independiente del DBMS y luego, a un protocolo de DBMS.Una ventaja que posee el driver tipo 3, también conocido como net-protocol all-Java, es que no requiere instalación en los clientes, según el DBMS. Como contrapartida, este driver requiere la instalación del Servidor JDBC. Nota: Para ejecutar Applets, en 2 capas, si se utiliza el driver tipo 3, el Servidor JDBC deberá encontrarse en el mismo host que el Servidor Web, por ser el Servidor JDBC el que resolvería la conexión.

Page 14: JDBC

Tipo 4: Java -> DBMS

El driver tipo 4 convierte llamadas JDBC directamente en el protocolo de red usado por el DBMS. Esto permite llamadas directas desde la máquina del cliente al servidor del DBMS y es una solución práctica para el acceso a Intranets.Dado que muchos de estos protocolos son propietarios, los proveedores de bases de datos son la principal fuente de este tipo de driver. Algunos ejemplos son:I-net SoftwareWebLogic jDriverAsToolBoxMerant El driver tipo 4, también denominado native-protocol all-Java, no requiere instalación en los clientes, según el DBMS.

Page 15: JDBC

USO DE LAS CLASES

CONNECTION, DRIVERMANAGER

Page 16: JDBC

Connection

Un objeto Connection representa una conexión a una base de datos. Una sesión con una conexión incluye las sentencias SQL que son ejecutadas y los resultados que son devueltos a través de dicha conexión.

Una misma aplicación puede tener una o mas conexiones con una sola base de datos o puede tener conexiones con varias bases de datos diferentes.

La clase Driver Manage trata de localizar el driver que pueda conectar con la base de datos representada por esa URL. El siguiente código ejemplifica como abrir una conexión a una base de datos localizada en la URL jdbc:odbc:wombat : String url = jdbc:odbc:wombat; Connection con = Driver Manager.get Connection ; Una URL de JDBC facilita una forma de identificar una base de datos de forma que el driver apropiado la reconozca y establezca una conexión con ella.

La sintaxis estándar para URLs de JDBC es la siguiente: Una URL de JDBC tiene tres partes separadas por dos puntos: jdbc es el protocolo.

El protocolo en una URL JDBC es siempre jdbc.

Page 17: JDBC

Clase drivermanager

Implementa la capa de gestión de JDBC, y trabaja como intermediaria entre el usuario y los drivers. Guarda la lista de los drivers que están disponibles y establece la conexión entre la base de datos y el driver apropiado. JDBC permite al usuario llamar a los métodos de Driver Manager get Driver, get Drivers y register Driver así como al método de Driver connect, pero en la mayoría de los casos es preferible dejar que la clase Driver Manager gestione los detalles al establecer la conexión.

La clase Driver Manager mantiene una lista de clases disponibles que han sido registrados mediante el método Driver Manager.register Driver.

2 Mediante la adición del driver a la propiedad jdbc.drivers de java.lang.System- Esta es una lista de nombres de clases de drivers, separadas por dos puntos, que es la que carga la clase Driver Manager.

Cuando la clase Driver Manager se inicializa, mira en la propiedad jdbc.drivers, y si el usuario ha introducido uno o mas drivers, la clase Driver Manager intenta cargarlos.

La solicitud de la conexión se realiza mediante una llamada al método Driver Manager.get Connection, y Driver Manager testea los drivers registrados para ver si puede establecer la conexión.

Page 18: JDBC

CONCLUSIÓN Utilizar JDBC implica construir y ejecutar repetidamente sentencias SELECT, INSERT, UPDATE y DELETE.

Por lo tanto:

Creamos mucho código que además estará muy acoplado a la base de datos que estemos usando.

Tenemos que iterar manualmente sobre las propiedades de objetos como ResultSet cada vez que consultemos algo en la base de datos.

A su vez es muy costoso crear PreparedStatements en cada caso por el mismo motivo de las iteraciones, pero en este caso sería sobre los POJO’s para Inserts, Updates y Deletes.

Tendríamos que gestionar manualmente el orden de las inserciones, actualizaciones y borrados para que no hubiese problemas con la integridad referencial.