13
Universidad los Ángeles de Chimbote Facultad de Ingeniería Escuela Profesional de Ingeniería de Sistemas Asignatura: Tecnología Cliente Servidor USO DEL ENTORNO DE NETBEANS PARA EL ACCESO DE LA BASE DE DATOS Y EL PAQUETE JAVA.SQL Acceso a la base de datos desde NetBeans NetBeans nos permite hacer operaciones sobre la base de datos como crear y borrar tablas, agregar y eliminar columnas, agregar, modificar y eliminar registros de datos como realizar consultas. Vamos a proceder hacer algunas operaciones: 1. Expanda el nodo con la conexión a la base de datos. 1

USO DEL ENTORNO DE NETBEANS PARA EL ACCESO DE LA BASE DE ... · Volvemos al entorno de NetBeans y observamos en la pestaña de Services la ... java.sql en la que existen clases e

Embed Size (px)

Citation preview

Page 1: USO DEL ENTORNO DE NETBEANS PARA EL ACCESO DE LA BASE DE ... · Volvemos al entorno de NetBeans y observamos en la pestaña de Services la ... java.sql en la que existen clases e

Universidad los Ángeles de Chimbote Facultad de Ingeniería Escuela Profesional de Ingeniería de Sistemas Asignatura: Tecnología Cliente Servidor

USO DEL ENTORNO DE NETBEANS PARA EL ACCESO DE LA BASE DE DATOS Y EL PAQUETE JAVA.SQL

Acceso a la base de datos desde NetBeansNetBeans nos permite hacer operaciones sobre la base de datos como crear y borrar

tablas, agregar y eliminar columnas, agregar, modificar y eliminar registros de datos como

realizar consultas.

Vamos a proceder hacer algunas operaciones:

1. Expanda el nodo con la conexión a la base de datos.

1

Page 2: USO DEL ENTORNO DE NETBEANS PARA EL ACCESO DE LA BASE DE ... · Volvemos al entorno de NetBeans y observamos en la pestaña de Services la ... java.sql en la que existen clases e

Universidad los Ángeles de Chimbote Facultad de Ingeniería Escuela Profesional de Ingeniería de Sistemas Asignatura: Tecnología Cliente Servidor

2. Observamos en la figura anterior las carpetas referidas a Tables (tablas), Views

(vistas) y Procedures (procedimeintos). Si expandimos el nodo referido a Tables

veremos la tabla estadio.

3. Si seleccionamos el nodo referido a Tables y damos clic botón derecho, se muestra

2

Page 3: USO DEL ENTORNO DE NETBEANS PARA EL ACCESO DE LA BASE DE ... · Volvemos al entorno de NetBeans y observamos en la pestaña de Services la ... java.sql en la que existen clases e

Universidad los Ángeles de Chimbote Facultad de Ingeniería Escuela Profesional de Ingeniería de Sistemas Asignatura: Tecnología Cliente Servidor

un menú flotante y luego elegimos la opción Create Table.

4. Vamos a proceder a crear la tabla de Equipo con los campos codequipo int,

nombre varchar(40), representante varchar(32), entrenador varchar(40), grupo

char(1) y estado bit. Una vez indicado los campos damos clic en el botón de

comando OK.

5. Volvemos al entorno de NetBeans y observamos en la pestaña de Services la

nueva tabla de Equipo.

3

Page 4: USO DEL ENTORNO DE NETBEANS PARA EL ACCESO DE LA BASE DE ... · Volvemos al entorno de NetBeans y observamos en la pestaña de Services la ... java.sql en la que existen clases e

Universidad los Ángeles de Chimbote Facultad de Ingeniería Escuela Profesional de Ingeniería de Sistemas Asignatura: Tecnología Cliente Servidor

6. Si deseamos insertar un registro a una de las tablas a través del comando insert, seleccionamos el nodo referido a Tables. Dando clic botón derecho se muestra un

menú flotante y luego seleccionamos la opción Execute Command...

7. Escribimos el comando para insertar un nuevo registro en la tabla de Equipo, luego

procedemos a ejecutarlo.

4

Page 5: USO DEL ENTORNO DE NETBEANS PARA EL ACCESO DE LA BASE DE ... · Volvemos al entorno de NetBeans y observamos en la pestaña de Services la ... java.sql en la que existen clases e

Universidad los Ángeles de Chimbote Facultad de Ingeniería Escuela Profesional de Ingeniería de Sistemas Asignatura: Tecnología Cliente Servidor

8. Luego si escribimos el comando select para consultar los datos de la tabla Ciudad,

observaremos el contenido de dicha tabla.

Como verán el entorno de NetBeans nos ofrece la oportunidad de acceder y manipular los

datos y las estructuras de los elementos que conforman una base de datos. Ahora

ustedes mismos, en base a la experiencia de los conocimeintos adquiridos en los cursos

referentes a base de datos, procedan a experimientar el entorno gráfico que nos ofrece

NetBeans.

5

Page 6: USO DEL ENTORNO DE NETBEANS PARA EL ACCESO DE LA BASE DE ... · Volvemos al entorno de NetBeans y observamos en la pestaña de Services la ... java.sql en la que existen clases e

Universidad los Ángeles de Chimbote Facultad de Ingeniería Escuela Profesional de Ingeniería de Sistemas Asignatura: Tecnología Cliente Servidor

Paquete Java.SQL para trabajar con base de datosPara realizar una aplicación para que realice cualquier operación de lo más sencilla

posible se necesita de la utilización de varias clases e interfases. JDBC ofrece el paquete

java.sql en la que existen clases e interfaces muy útiles para trabajar con base de datos.

Veamos las más importantes clases o interfases y en la medida en que se desarrolle las

sesiones se detallarán más mencionando los métodos que tienen para hacer fácil el

acceso a la base de datos.

● La clase DriverManager , permite llevar a cabo una conexión con la base de datos

logrando cargar un driver. Existen varios métodos para ello, entre las cuales se

destacan:

public static synchronized Connection getConnection(String url) throws

SQLException

public static synchronized Connection getConnection(Strin url,String user, String

password) throws

El primero de los métodos recibe como parámetro la dirección URL que identifica la

base de datos. En el caso en que sea necesario proporcionar un usuario y una

contraseña para acceder a la base de datos (como sucede en MySql) se utiliza el

segundo de los métodos. Una dirección URL JDBC proporciona un método de

localización de bases muy parecido al que representan las direcciones URL que

identifican sitios Web de Internet. Los controladores JDBC tienen que ser capaces

de conectar con la base de datos a partir de la información contenida en la

dirección URL JDBC de la misma, por lo que son los desarrolladores los que fijan

en la mayoría de los casos la sintaxis.

● La interfaz Connection, cuando se utiliza uno de los métodos anteriormente

mencionados se obtiene un objeto de tipo Connection que representa como es de

esperar la conexión con la base de datos. El objeto obtenido cuenta con varios

métodos. Dos de los más importantes son:

public abstract Statement createStatement() throws SQLException

public abstract void close() throws SQLException

El primero de los métodos sirve para crear un objeto del tipo Statement. Las frases

SQL se ejecutan normalmente mediante la utilización de objetos del tipo Statement.

Finalmente, es conveniente cerrar las conexiones tan pronto como dejen de

utilizarse para liberar recursos. No obstante, ha de tenerse en cuenta que

6

Page 7: USO DEL ENTORNO DE NETBEANS PARA EL ACCESO DE LA BASE DE ... · Volvemos al entorno de NetBeans y observamos en la pestaña de Services la ... java.sql en la que existen clases e

Universidad los Ángeles de Chimbote Facultad de Ingeniería Escuela Profesional de Ingeniería de Sistemas Asignatura: Tecnología Cliente Servidor

establecer una conexión es una operación costosa, por lo que tampoco se debe

estar abriendo y cerrando la conexión con frecuencia.

● La interfaz Statement, los objetos de tipo Statement permiten realizar consultas y

efectuar operaciones de actualización, borrado o inserción de datos. En algunos

casos es interesante también fijar ciertos parámetros vinculados con la consulta

que se desea realizar, como por ejemplo el tiempo que estamos dispuestos a

esperar a que el gestor de la base de datos devuelva el resultado de la consulta.

Los métodos que se citan a continuación son algunos de los más importantes para

llevar a cabo todas estas acciones.

public abstract ResultSet executeQuery(String sql) throws SQLException

Ejecuta una senetencia SELECT y devuelve el resultado mediante la interfaz

ResultSet

public abstract int executeUpdate(String sql) throws SQLException

Ejecuta una sentencia UPDATE, DELETE, INSERT o cualquier otra sentencia SQL

que no devuelva un conjunto de registros, y devuelve el número de registros

afectados por la sentencia.

public abstract void setMaxRows(int max) throws SQLException

Establece el número máximo de registros que puede devolver executeQuery()

public abstract int getMaxRows() throws SQLException

Devuelve el número máximo de registros que puede devolver executeQuery()

public abstract void setQueryTimeout(int seconds) throws SQLException

Establece el tiempo en segundos que el controlador esperará hasta que el sistema

gestor de bases de datos devuelva un resultado

public abstract int getQueryTimeout() throws SQLException

Devuelve el tiempo en segundos que el controlador esperará hasta que el sistema

gestor de bases de Datos devuelva un resultado

public abstract void close() throws SQLException

Libera los recursos asociados a la sentencia

● La interfaz ResultSet, el método executeQuery que se utiliza para ejecutar

sentencias SQL devuelve un objeto de tipo ResultSet. Éste contiene las filas o

registros obtenidos al ejecutar una sentencia SELECT. Para recuperar los datos

contamos con muchas opciones. Todos los métodos funcionan de la misma

7

Page 8: USO DEL ENTORNO DE NETBEANS PARA EL ACCESO DE LA BASE DE ... · Volvemos al entorno de NetBeans y observamos en la pestaña de Services la ... java.sql en la que existen clases e

Universidad los Ángeles de Chimbote Facultad de Ingeniería Escuela Profesional de Ingeniería de Sistemas Asignatura: Tecnología Cliente Servidor

manera. Toman como parámetro el índice o el nombre del campo que se desea

obtener y devuelven el dato en cuestión.

public abstract String getString(int columnIndex) throws SQLException

public abstract String getString(String columnName) throws SQLException

public abstract int getInt(int columnIndex) throws SQLException

public abstract int getInt(String columnName) throws SQLException

Además, existen otros métodos gracias a los cuales es posible recorrer los

resultados guardados en el objeto de tipo ResultSet.

public abstract int findColumn(String columnName) throws SQLException

Devuelve el número de columna cuyo nombre se pasa como parámetro

public abstract boolean next() throws SQLException

Un objeto de tipo ResultSet puede contener más de un resultado. Para ir

avanzando por la lista de resultados utilizamos este método, que devuelve un valor

indicando si existe otro resultado o no.

public abstract boolean wasNull() throws SQLException

Indica si el contenido de la última columna accedida es NULL SQL

public abstract void close() throws SQLException

Libera los recursos asociados al ResultSet

Vamos a proceder a visualizar en objetos Jlist, los datos contenidos de la tabla de Equipo.

1) Creamos un objeto Jframe para abrir un nuevo formulario.

8

Page 9: USO DEL ENTORNO DE NETBEANS PARA EL ACCESO DE LA BASE DE ... · Volvemos al entorno de NetBeans y observamos en la pestaña de Services la ... java.sql en la que existen clases e

Universidad los Ángeles de Chimbote Facultad de Ingeniería Escuela Profesional de Ingeniería de Sistemas Asignatura: Tecnología Cliente Servidor

2) Indicamos como nombre de clase formulario: frmverEquipos. Luegos damos click

en el botón de comando Finish.

Quedando el entorno de NetBeans de la siguiente manera:

3) Damos clic botón derecho sobre el diseño del formulario para cambiar el Set Layout a AbsoluteLayout, lo cual nos permitirá usar los objetos de control más

libremente.

9

Page 10: USO DEL ENTORNO DE NETBEANS PARA EL ACCESO DE LA BASE DE ... · Volvemos al entorno de NetBeans y observamos en la pestaña de Services la ... java.sql en la que existen clases e

Universidad los Ángeles de Chimbote Facultad de Ingeniería Escuela Profesional de Ingeniería de Sistemas Asignatura: Tecnología Cliente Servidor

4) Colocamos los objetos de control quedando el diseño del formulario de la siguiente

manera:

5) Borramos los Items de cada objeto Jlist y colocamos los nombres a cada objeto de

control. Recuerden que para eliminar los items de cada Jlist hay que hacer uso de

10

Page 11: USO DEL ENTORNO DE NETBEANS PARA EL ACCESO DE LA BASE DE ... · Volvemos al entorno de NetBeans y observamos en la pestaña de Services la ... java.sql en la que existen clases e

Universidad los Ángeles de Chimbote Facultad de Ingeniería Escuela Profesional de Ingeniería de Sistemas Asignatura: Tecnología Cliente Servidor

model que se encuentra en la ventana de propiedades.

6) A continuación procedemos a colocar la programación.

11

Page 12: USO DEL ENTORNO DE NETBEANS PARA EL ACCESO DE LA BASE DE ... · Volvemos al entorno de NetBeans y observamos en la pestaña de Services la ... java.sql en la que existen clases e

Universidad los Ángeles de Chimbote Facultad de Ingeniería Escuela Profesional de Ingeniería de Sistemas Asignatura: Tecnología Cliente Servidor

En la primera llave (color rojo) observamos que importamos los paquetes java.sql

(todo lo que acabamos de ver) y el paquete javax.swing para poder utilizar la clase

JoptionPane para la visualización de un mensaje a traves de su método

ShowMessageDialog. En la segunda llave se define las variables que se van a

usar. Vendría hacer los atributos de la clase frmVerEquipo. Como tenemos

establecer conexión usaremos un objeto Connection (conn), para hacer una

operación de consulta usaremos un objeto Statement (st) y para almacenar los

resultados de la consulta usaremos un objeto ResultSet (rs). Como la aplicación

hace uso de los Jlist se tiene crear 4 objetos instanciados de la clase

DefaultListModel (mayor información en la sesión 4 del curso de Programación

Visual). Posteriormente preparamos variables para indicar el nombre de la base de

datos, el login, el password y el url. En la tercera llave se ha diseñado un método

denominado Enlace que permitirá establecer conexión con la base de datos

campeonatouefa.

7) La clase frmVerEquipo tienen un método del mismo nombre frmVerEquipo(), esto

es lo que se denomina método constructor. Deseamos que los datos se muestren

en los objetos Jlist al momento de la ejecución del formulario debemos programar

en el método antes mencionado.

12

Page 13: USO DEL ENTORNO DE NETBEANS PARA EL ACCESO DE LA BASE DE ... · Volvemos al entorno de NetBeans y observamos en la pestaña de Services la ... java.sql en la que existen clases e

Universidad los Ángeles de Chimbote Facultad de Ingeniería Escuela Profesional de Ingeniería de Sistemas Asignatura: Tecnología Cliente Servidor

Los objetos instanciados de la clase DefaultListModel deben ser vinculados a cada

uno de las cajas de listas. Luego usando el bloque try{ } que por cierto sirve para

interceptar errores y si lo hubiera ejecutaría lo programado en el bloque catch{ },

establecemos laconexión usando el método Enlace, creamos el objeto st de tipo

Statement (se encuentra listo para relizar una operación) y luego ejecutamos una

sentencia de consulta con select cuyo resultado va ocasionar que los datos se

almacenen en el objeto rs del tipo ResultSet. Finalmente con el método next se

logra desplazar a través de los registros de datos para ir llenado los objetos

modelo1, modelo2, modelo3 y modelo4 y de esta forma llenamos los objetos Jlist lo

que nos permitirá ver en el formulario los datos de la tabla de Equipo.

8) Recuerda que en la sesión anterior sólo se agregó un registro a la tabla de Equipo.

Si gustan ingresen más registros a la tabla de Equipo y observarán los resultados.

Si ejecutamos la aplicación observamos lo siguiente:

En la segunda unidad de aprendizaje veremos más operaciones con base de datos

referido a mantenimientos y consulta de datos.

13