BD con JSP

download BD con JSP

of 16

Transcript of BD con JSP

  • 7/24/2019 BD con JSP

    1/16

    Tecnologa de Programacin V Ciclo

    Ing. Ricardo More Reao 1

    ACCESO A BASE DE DATOS CON JSP

    Base de datos.-

    Base de datos es una coleccin de datos organizados y estructurados, segnun determinado modelo de informacin que refleja no slo los datos en s mismos, sinotambin las relaciones que existen entre ellos, estas se han convertido en un elementoindispensable para el funcionamiento de los grandes motores de bsqueda yrecuperacin de informacin a lo largo y ancho de la Web, adems para la creacin desedes web, Intranets y otros sistemas de informacin.

    JSP.-JSP es un lenguaje muy potente de cdigo abierto que permite crear de

    manera fcil aplicaciones Web. JEE (Java Enterprise Edition) es una tecnologa de lasms utilizadas. A veces se utiliza el trmino: servidores de aplicaciones Java para

    referirse a aquellos servidores de aplicaciones que implementan de forma adecuadalas soluciones propuestas por JEE. JEE es una especificacin que propone unestndar para servidores de aplicaciones. Define diferentes tecnologas e indica cmodeben trabajar juntas.

    Acceso a base de datos MySQL

    El modelo de datos de java descansa en una serie de objetos especializadosque facilitan el procesamiento de una base de datos. El problema es comunicar unprograma o aplicacin con una base de datos y ms que comunicar se pretende que elprograma o aplicacin realice una serie de procesos u operaciones con la base dedatos o mejor aun con el conjunto de tablas que contiene una base de datos.

    Es necesario conocer que as como existen servidores de paginas (webserver), servidores de correo (mail server), servidores de ftp (ftp server), etc, tambinexisten servidores de bases de datos (database server), los servidores de bases dedatos surgen con motivo de la necesidad de las empresas de manejar grandes ycomplejos volmenes de datos, al tiempo que requieren compartir la informacin conun conjunto de clientes (que pueden ser tanto aplicaciones como usuarios) de unamanera segura. Ante este enfoque, un sistema gestor de bases de datos (SGBD, apartir de ahora) deber ofrecer soluciones de forma fiable, rentable y de altorendimiento. A estas tres caractersticas, le debemos aadir una ms: debeproporcionar servicios de forma global y, en la medida de lo posible,independientemente de la plataforma. Internet se ha convertido en nuestros das en la

    mayor plataforma de comunicaciones jams vista. Esto hace que las empresas tiendana presentar su informacin a travs de la Web en forma de contenidos, que despuslos clientes consultarn para establecer relaciones con dichas empresas.

    Una de las funciones que se empieza a exigir a los SGBD, puesto que sobreellos recae el peso del almacn y proceso de la informacin, es la de proporcionarherramientas de apoyo a toma de decisiones ("datawarehouse") al tiempo queproporciona una plataforma de transacciones "on-line" (OLTP) que hacen que lainformacin est siempre actualizada y consistente. Entre algunos de ellos tenemos:SQL Server de microsoft, Oracle, MySQL, etc.

    El modo de comunicarse entre nuestro programa o aplicacin y la base dedatos implica que ambos manejen un lenguaje de programacin comn, para resolver

    este problema de comunicacin es que se usa un lenguaje comn de bases de datosque tanto los lenguajes de programacin existentes como las bases de datos

  • 7/24/2019 BD con JSP

    2/16

    Tecnologa de Programacin V Ciclo

    Ing. Ricardo More Reao 2

    entiendan, este lenguaje comn de bases de datos es el SQL (structured querylanguaje) o lenguaje estructurado de consultas. Las principales instrucciones de SQLque se utilizan son: se lec t , inser t , update y de le te .

    JDBC.-JDBC o Java Data Base Connectivity, creado por la empresa Sun, es la API

    estndar de acceso a bases de datos con Java. Sun opt por crear una nueva API enlugar de utilizar ODBC, porque presentaba algunos problemas desde ciertasaplicaciones Java. Adems, ODBC ha de instalarse manualmente en cada mquina,mientras que los controladores (drivers) JDBC que estn escritos en Java sonautomticamente instalables y portables. El nivel de abstraccin al que trabaja JDBCes ms alto que el de ODBC, de esta forma se pueden crear libreras de ms altonivel. Se utiliza para ejecutar comandos de SQL, Suministra una serie de clases einterfaces que permiten al desarrollador de sitios web escribir aplicaciones quegestionen Bases de Datos. El acceso a base de datos desde JSP (Java ServerPages), al igual que desde Servlets, se apoya en esta tecnologa, para ello se precisaun controlador o driverque proporciona el acceso a la base de datos(MySQL).

    Conector J para MySQL.- Es un objeto especializado que se utiliza para enlazar eintercambiar informacin entre MySQL y Java. Este archivo .jar tenemos que ubicarloen el servidor.

    Objeto Connection.- Objeto que se utiliza para establecer la conexin o enlace entreel programa jsp y la base de datos en mysql.

    Objeto ResultSet.- Es la representacin en memoria de las tablas de la base de datosen disco, se puede entender como una tabla virtual, recordar que generalmente todoslos procesos que se realicen con la tabla (insertar registros, eliminar registros, etc) serealizarn realmente contra un resulset y no provocarn ningn cambio en la tabla

    fsica en disco.Objeto Statement.- Este objeto y sus dos mtodos executeQuery(slo para select desql) y executeUpdate( solo para insert, update y delete de sql) son los mtodos que seutilizan para comunicarse con la tabla fsica en disco.

    CONSULTA

    Existen una serie de operaciones y procesos que son muy comunes sobre unatabla en una base de datos en disco, la ms comn es desplegar todos los renglonesde la tabla que estn almacenados en disco, a este proceso se le llama seleccin,consulta o despliegue.

    La comunicacin con la base de datos se tendr que realizar usando SQL(structuredquery language), la instruccin sql que se usa para resolver este problema es:

    select[campos] fromtabla

    INSERCIN

    Insertar o agregar registros o renglones nuevos a una tabla en disco, es unproceso sencillo que usa la siguiente instruccin sql:

    insert intotabla(campo1,campo2..) values(valor1,valor2,...);

  • 7/24/2019 BD con JSP

    3/16

    Tecnologa de Programacin V Ciclo

    Ing. Ricardo More Reao 3

    ACTUALIZACIN

    Se tiene que usar la instruccin sql updatepara que la nueva informacin seactualice en disco, cabe recordar que los cambios que se hacen a una tabla esrealmente al resultset, que a su vez es una tabla o base de datos en la memoria de lamquina del cliente o usuario, es por esta razn que los cambios hay que actualizarlos

    o pasarlos con UPDATE a la base de datos en disco.

    ELIMINACIN

    Eliminacin es otro proceso simple y comn con las bases de datos. Lainstruccin sql que se usa es:

    delete fromtabla wherecondicin

    y luego utilizar el executeUpdate()

    Ejemplo 1.- (Consulta)A continuacin veremos nuestro primer ejemplo, acerca de una consulta a una

    tabla de una base de datos.

    Vamos a crear la base de datos en MySQL, llamada bdempresa.

    La tabla:

    vendedor con 4 campos:

    codvendedor char(4)

    nombre varchar(50)

    apellido varchar(50)nhijos int(2)

    La situacin ha sido adecuada para trabajar diferentes tipos de datos y realizarsu tratamiento desde la programacin.

    Nos vamos a herramientas en la parte de inferior izquierda y seleccionamosphpMyAdmin.

  • 7/24/2019 BD con JSP

    4/16

    Tecnologa de Programacin V Ciclo

    Ing. Ricardo More Reao 4

    Luego ponemos nombre a nuestra base de datos y clic en botnCreate(Crear).

    En la siguiente ventana el nombre a nuestra tablay la cantidad de campos.

    Se ingresa los nombres de los campos, conforma la imagen:

    Hay que ingresar(insertar) algunos registros a la base de datos. Por ejemplo:

  • 7/24/2019 BD con JSP

    5/16

    Tecnologa de Programacin V Ciclo

    Ing. Ricardo More Reao 5

    Ahora vamos a crear nuevo proyecto en NetBeans. En categories(Categoras)se selecciona Java Weby enProjectsJava Web.

    Escribir el nombre que considere adecuado, en este caso es: EMPRESA.

  • 7/24/2019 BD con JSP

    6/16

    Tecnologa de Programacin V Ciclo

    Ing. Ricardo More Reao 6

    En esta ventana seleccionar Servery Java EE Versin.

  • 7/24/2019 BD con JSP

    7/16

    Tecnologa de Programacin V Ciclo

    Ing. Ricardo More Reao 7

    En la ventana de frameworks no activar las casillas, an. LuegoFinish(Finalizar).

    Ahora se puede apreciar la plantilla, que corresponde a index que se crea enforma predeterminada.

  • 7/24/2019 BD con JSP

    8/16

    Tecnologa de Programacin V Ciclo

    Ing. Ricardo More Reao 8

    En index.jsp vamos a escribir el enlace a mostrar_vendedor.jsp, que enrealidad es el archivo donde vamos a escribir el cdigo.

    Crear el archivo: mostrar_vendedor.jsp y escribir el cdigocomo se muestra

    en la imagen.

    Para trabajar con base de datos se utiliza la siguiente importacin:

    En estas lneas de cdigo est includa la conexin, la consulta, ascomo la tabla(table) en la que se muestra el contenido de la tablavendedor de la base de datos bdempresa. La conexin es similar acomo se haca con archivos de extensin .java.

    Es necesario agregar en Libraries, la librera:

    MySQL JDBC Driver

  • 7/24/2019 BD con JSP

    9/16

    Tecnologa de Programacin V Ciclo

    Ing. Ricardo More Reao 9

    Vamos a nuestro proyecto web EMPRESA, hacemos clic derecho yRun(Ejecutar), que llama al index.jsp, que es donde est el enlace.

    Luego clic en el enlace Consulta vendedor, que llamar amostrar_vendedor.jsp, que muestra lo siguiente:

    Ejemplo 2.- (Insertar registros)

    En el ejemplo anterior se realiz la conexin a una base de datos en el que, enun solo archivo estaba todo el cdigo. En el siguiente ejemplo se realiza una

  • 7/24/2019 BD con JSP

    10/16

    Tecnologa de Programacin V Ciclo

    Ing. Ricardo More Reao 10

    separacin, se utilizan 3 archivos: el index, la conexin y en el que se realiza lainsercin.

    Vamos a realizar una aplicacin web, que permita insertar registros a la tablatrabajador de la base de datos bdservicios, que guarda usuario y contrasea.Primero crearemos la base de datos:

    Creamos el proyecto que tendr por nombre GUARDAR o el que se creaconveniente. Como mencionamos ya, trabajaremos con 3 archivos.

    En index.jsp(que se genera en forma predeterminada) se colocan dos enlaces.El primero muestra la conexin a la base de datos y el segundo en el que seprocesa la insercin de un registro a la tabla trabajador.

    En el archivo conexion.jsp, escribimos el cdigo de la imagen. Si desea puedeescribir el cdigo que aparece en el comentario o slo utilizar una sola lneacomo: .

  • 7/24/2019 BD con JSP

    11/16

    Tecnologa de Programacin V Ciclo

    Ing. Ricardo More Reao 11

    En el archivo insertar.jsp, escribimos como se muestra en la imagen. Esimportante tener en cuenta que las cajas de texto que aparecen en elformulario deben tener nombre(name) para poder pasarlos a las variablesString: user y cont, que son los valores(values) que se insertan a la tabla

    trabajador.

  • 7/24/2019 BD con JSP

    12/16

    Tecnologa de Programacin V Ciclo

    Ing. Ricardo More Reao 12

    Vamos a nuestro proyecto web GUARDAR, hacemos clic derecho yRun(Ejecutar), que llama al index.jsp, que es donde estn los enlaces.

    Si hacemos clic en el primer enlace, se muestra el mensaje que se establececonexin con la base de datos.

    Si hacemos clic en el segundo enlace, se muestra el formulario paraguardar(debemos ir a conexion.jsp y borrar el mensaje de conexinestablecida):

    Luego de hacer clic en el botn Guardar:

  • 7/24/2019 BD con JSP

    13/16

    Tecnologa de Programacin V Ciclo

    Ing. Ricardo More Reao 13

    Ejemplo 3.- (Guardar, Actualizar y Eliminar)

    En el siguiente ejemplo vamos a realizar tres acciones: guardar, actualizar yeliminar en la tabla libro de la base de datos llamada biblioteca, la debe

    presentar la siguiente estructura.

    Crear el nuevo proyecto: MANTENIENTO o el nombre que ustedes creanconveniente. En l vamos a tener dos archivos .jsp. En index.jspse encuentrael formulario, en el cual aparecen los controles a utilizar y el action queprocesa est dirigido a mantenimiento.jsp. De igual forma enLibraries(Librera) hay que agregar la librera MySQL JDBC Driver.

    En mantenimiento.jsp, se muestra como rescatar los datos ingresados alformulario, las variables asignadas para la conexin, el cdigo para guardar,

  • 7/24/2019 BD con JSP

    14/16

    Tecnologa de Programacin V Ciclo

    Ing. Ricardo More Reao 14

    eliminar y actualizar, la conexin y cerrar la conexin.

    Contina...

  • 7/24/2019 BD con JSP

    15/16

    Tecnologa de Programacin V Ciclo

    Ing. Ricardo More Reao 15

    Contina ...

    Luego hacemos clic derecho en nuestro proyecto y Run(Ejecutar).Aparece el index.jsp con su contenido, el formulario.

    Ingresamos valores.

    Habilitamos la opcin Guardary luegoAceptar.

  • 7/24/2019 BD con JSP

    16/16

    Tecnologa de Programacin V Ciclo

    Ing Ricardo More Reao 16