You are on page 1of 15

Tecnologa de Programacin

V Ciclo

ACCESO A BASE DE DATOS CON JSP


Base de datos.Base de datos es una coleccin de datos organizados y estructurados, segn un determinado modelo de informacin que refleja no slo los datos en s mismos, sino tambin las relaciones que existen entre ellos, estas se han convertido en un elemento indispensable para el funcionamiento de los grandes motores de bsqueda y recuperacin de informacin a lo largo y ancho de la eb, adem!s para la creacin de sedes "eb, #ntranets y otros sistemas de informacin$ JSP.%&' es un lenguaje muy potente de cdigo abierto que permite crear de manera f!cil aplicaciones eb$ %(( )%ava (nterprise (dition* es una tecnologa de las m!s utilizadas$ + veces se utiliza el trmino, servidores de aplicaciones %ava para referirse a aquellos servidores de aplicaciones que implementan de forma adecuada las soluciones propuestas por %(($ %(( es una especificacin que propone un est!ndar para servidores de aplicaciones$ -efine diferentes tecnologas e indica cmo deben trabajar juntas$ Acceso a base de datos MySQL (l modelo de datos de java descansa en una serie de objetos especializados que facilitan el procesamiento de una base de datos$ (l problema es comunicar un programa o aplicacin con una base de datos y m!s que comunicar se pretende que el programa o aplicacin realice una serie de procesos u operaciones con la base de datos o mejor aun con el conjunto de tablas que contiene una base de datos$ (s necesario conocer que as como existen servidores de paginas )"eb server*, servidores de correo )mail server*, servidores de ftp )ftp server*, etc, tambin existen servidores de bases de datos )database server*, los servidores de bases de datos surgen con motivo de la necesidad de las empresas de manejar grandes y complejos volmenes de datos, al tiempo que requieren compartir la informacin con un conjunto de clientes )que pueden ser tanto aplicaciones como usuarios* de una manera segura$ +nte este enfoque, un sistema gestor de bases de datos )&.B-, a partir de ahora* deber! ofrecer soluciones de forma fiable, rentable y de alto rendimiento$ + estas tres caractersticas, le debemos a/adir una m!s, debe proporcionar servicios de forma global y, en la medida de lo posible, independientemente de la plataforma$ #nternet se ha convertido en nuestros das en la mayor plataforma de comunicaciones jam!s vista$ (sto hace que las empresas tiendan a presentar su informacin a travs de la eb en forma de contenidos, que despus los clientes consultar!n para establecer relaciones con dichas empresas$ 0na de las funciones que se empieza a exigir a los &.B-, puesto que sobre ellos recae el peso del almacn y proceso de la informacin, es la de proporcionar herramientas de apoyo a toma de decisiones )1data"arehouse1* al tiempo que proporciona una plataforma de transacciones 1on2line1 )345'* que hacen que la informacin est siempre actualizada y consistente$ (ntre algunos de ellos tenemos, &64 &erver de microsoft, 3racle, 7y&64, etc$ (l modo de comunicarse entre nuestro programa o aplicacin y la base de datos 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 datos que tanto los lenguajes de programacin existentes como las bases de datos

Ing. Ricardo More Reao

Tecnologa de Programacin

V Ciclo

entiendan, este lenguaje comn de bases de datos es el &64 )structured query languaje* o lenguaje estructurado de consultas$ 4as principales instrucciones de &64 que se utilizan son, s e l e c t , i n s e r t , ! d a t e y d e l e t e . JDBC.%-B8 o %ava -ata Base 8onnectivity, creado por la empresa &un, es la +'# est!ndar de acceso a bases de datos con %ava$ &un opt por crear una nueva +'# en lugar de utilizar 3-B8, porque presentaba algunos problemas desde ciertas aplicaciones %ava$ +dem!s, 3-B8 ha de instalarse manualmente en cada m!quina, mientras que los controladores )drivers* %-B8 que est!n escritos en %ava son autom!ticamente instalables y portables$ (l nivel de abstraccin al que trabaja %-B8 es m!s alto que el de 3-B8, de esta forma se pueden crear libreras de m!s alto nivel$ &e utiliza para ejecutar comandos de &64, &uministra una serie de clases e interfaces que permiten al desarrollador de sitios "eb escribir aplicaciones que gestionen Bases de -atos$ (l acceso a base de datos desde %&' )%ava &erver 'ages*, al igual que desde &ervlets, se apoya en esta tecnologa, para ello se precisa un controlador o driver que proporciona el acceso a la base de datos)7y&64*$ Conector J !ara MySQL$2 (s un objeto especializado que se utiliza para enlazar e intercambiar informacin entre 7y&64 y %ava$ (ste archivo $jar tenemos que ubicarlo en el servidor$ Ob"eto Connection.2 3bjeto que se utiliza para establecer la conexin o enlace entre el programa jsp y la base de datos en mysql$ Ob"eto #es ltSet.2 (s la representacin en memoria de las tablas de la base de datos en disco, se puede entender como una tabla virtual, recordar que generalmente todos los procesos que se realicen con la tabla )insertar registros, eliminar registros, etc* se realizar!n realmente contra un resulset y no provocaran ningn cambio en la tabla fsica en disco$ Ob"eto State$ent.2 (ste objeto y sus dos mtodos execute6uery)slo para select de sql* y execute0pdate) solo para insert, update y delete de sql* son los mtodos que se utilizan para comunicarse con la tabla fsica en disco$ CONS%LTA (xisten una serie de operaciones y procesos que son muy comunes sobre una tabla en una base de datos en disco, la m!s comn es desplegar todos los renglones de la tabla que est!n almacenados en disco, a este proceso se le llama seleccion, consulta o despliegue$ 4a comunicacin con la base de datos se tendr! que realizar usando &64)structured query language*, la instruccin sql que se usa para resolver este problema es, select 9campos: &ro$ tabla 'NSE#C'(N #nsertar o agregar registros o renglones nuevos a una tabla en disco, es un proceso sencillo que usa la siguiente instruccin sql, insert into tabla)campo;,campo<$$* )al es)valor;,valor<,$$$*=

Ing. Ricardo More Reao

Tecnologa de Programacin

V Ciclo

ACT%AL'*AC'(N &e tiene que usar la instruccion sql !date para que la nueva informacin se actualize en disco, cabe recordar que los cambios que se hacen a una tabla es realmente al resultset, que a su vez es una tabla o base de datos en la memoria de la maquina del cliente o usuario, es por esta razon que los cambios hay que actualizarlos o pasarlos con 0'-+5( a la base de datos en disco$ EL'M'NAC'ON (liminacin es otro proceso simple y comun con las bases de datos$ 4a instruccin sql que se usa es, delete &ro$ tabla +,ere condicion y luego utilizar el execute0pdate)* E"e$!lo -$2 )Cons lta. + continuacin veremos nuestro primer ejemplo, acerca de una consulta a una tabla de una base de datos$ >amos a crear la base de datos en 7y&64, llamada bde$!resa$ 4a tabla, )endedor con ? campos, cod)endedor no$bre a!ellido n,i"os char)?* varchar)@A* varchar)@A* int)<*

4a situacin ha sido adecuada para trabajar diferentes tipos de datos y realizar su tratamiento desde la programacin$

Bos vamos a ,erra$ientas en la parte de inferior izquierda y seleccionamos !,!MyAd$in.

Ing. Ricardo More Reao

Tecnologa de Programacin

V Ciclo

4uego ponemos nombre a nuestra base de datos y clic en botn Create/Crear..

(n la siguiente ventana el nombre a nuestra tabla y la cantidad de campos$

&e ingresa los nombres de los campos, conforma la imagen,

Cay que ingresar)insertar* algunos registros a la base de datos$ 'or ejemplo,

Ing. Ricardo More Reao

Tecnologa de Programacin

V Ciclo

+hora vamos a crear nuevo proyecto en BetBeans$ (n categories)8ategoras* se selecciona Ja)a 0eb y en 'rojects Ja)a 0eb$

(scribir el nombre que considere adecuado, en este caso es, EMP#ESA$

Ing. Ricardo More Reao

Tecnologa de Programacin

V Ciclo

(n esta ventana seleccionar Ser)er y Ja)a EE 1ersi2n.

Ing. Ricardo More Reao

Tecnologa de Programacin

V Ciclo

(n la ventana de frame"orDs no activar las casillas, an$ 4uego Einish)Einalizar*$

+hora se puede apreciar la plantilla, que corresponde a index que se crea en forma predeterminada$

(n inde3."s! vamos a escribir el enlace a $ostrar4)endedor."s!, que en realidad es el archivo donde vamos a escribir el cdigo$

Ing. Ricardo More Reao

Tecnologa de Programacin

V Ciclo

8rear el archivo, $ostrar4)endedor."s! y escribir el cdigo como se muestra en la imagen$ 'ara trabajar con base de datos se utiliza la siguiente importacin, 567!a8e i$!ort9:"a)a.s;l.<: 6= (n estas lneas de cdigo est! includa la conexin, la consulta, as como la tabla)table* en la que se muestra el contenido de la tabla )endedor de la base de datos bde$!resa$ 4a conexin es similar a como se haca con archivos de extensin ."a)a$

(s necesario agregar en 4ibraries, la librera, 7y&64 %-B8 -river

Ing. Ricardo More Reao

Tecnologa de Programacin

V Ciclo

>amos a nuestro proyecto "eb >EMP#ESAF, hacemos clic derecho y # n)(jecutar*, que llama al inde3."s!, que es donde est! el enlace$

4uego clic en el enlace Cons lta )endedor, $ostrar4)endedor."s!, que muestra lo siguiente,

que

llamar!

E"e$!lo ?.- /'nsertar re8istros. (n el ejemplo anterior se realiz la conexin a una base de datos en el que, en un solo archivo estaba todo el cdigo$ (n el siguiente ejemplo se realiza una separacin, se utilizan G archivos, el index, la conexin y en el que se realiza la insercin$ >amos a realizar una aplicacin "eb, que permita insertar registros a la tabla traba"ador de la base de datos bdser)icios, que guarda usuario y contrase/a$ 'rimero crearemos la base de datos,

Ing. Ricardo More Reao

Tecnologa de Programacin

V Ciclo

8reamos el proyecto que tendr! por nombre H@%A#DA#F

o el se crea conveniente$ 8omo mencionamos ya, trabajaremos con G archivos$ (l primero muestra la conexin a la base de datos y el segundo en el que se procesa la insercin de un registro a la tabla traba"ador$

(n inde3."s!)que se genera en forma predeterminada* se colocan dos enlaces$

(n el archivo cone3ion."s!, escribimos el cdigo de la imagen$ &i desea puede escribir el cdigo que aparece en el comentario o slo utilizar una sola lnea como, 567!a8e i$!ort9:"a)a.s;l.<:6=.

Ing. Ricardo More Reao

1!

Tecnologa de Programacin

V Ciclo

(n el archivo insertar."s!, escribimos como se muestra en la imagen$ (s importante tener en cuenta que las cajas de texto que aparecen en el formulario deben tener nombre)na$e* para poder pasarlos a las variables &tring, ser y cont, que son los valores)values* que se insertan a la tabla traba"ador$

Ing. Ricardo More Reao

11

Tecnologa de Programacin

V Ciclo

>amos a nuestro proyecto "eb >@%A#DA#F, hacemos clic derecho y # n)(jecutar*, que llama al inde3."s!, que es donde est!n los enlaces$

&i hacemos clic en el primer enlace, se muestra el mensaje que se establece conexin con la base de datos$

&i hacemos clic en el segundo enlace, se muestra el formulario para guardar)debemos ir a cone3ion."s! y borrar el mensaje de conexin establecida*,

4uego de hacer clic en el botn @ ardar,

Ing. Ricardo More Reao

12

Tecnologa de Programacin

V Ciclo

E"e$!lo A.- /@ ardar, Act aliBar y Eli$inar.

(n el siguiente ejemplo vamos a realizar tres acciones, guardar, actualizar y


eliminar en la tabla libro de la base de datos llamada biblioteca, la debe presentar la siguiente estructura$

8rear el nuevo proyecto, MANTEN'ENTO o el nombre que ustedes crean conveniente$ (n l vamos a tener dos archivos $jsp$ (n inde3."s! se encuentra el formulario, en el cual aparecen los controles a utilizar y el action que procesa est! dirigido a $anteni$iento."s!$ -e igual forma en 4ibraries)4ibrera* hay que agregar la librera MySQL JDBC Dri)er.

(n mantenimiento$jsp, se muestra como rescatar los datos ingresados al


formulario, las variables asignadas para la conexin, el cdigo para guardar, eliminar y actualizar, la conexin y cerrar la conexin$

Ing. Ricardo More Reao

13

Tecnologa de Programacin

V Ciclo

Con"in#a...

Con"in#a ...

Ing. Ricardo More Reao

14

Tecnologa de Programacin

V Ciclo

4uego hacemos clic derecho en nuestro proyecto y Iun)(jecutar*$ +pararece el index$jsp con su contenido, el formulario$

#ngresamos valores$

Cabilitamos la opcin @ ardar y luego Ace!tar$

Ing. Ricardo More Reao

15

You might also like