Vamos a desarrollar una pequeña aplicación web usando Java Server Pages (JSP) y JavaBeans. Comencemos con la construcción de una nueva base de datos. Vamos a trabajar con una base de datos de películas. Realice ahora los siguientes pasos:
- 1) Cree en MySQL una base de datos llamada cine. Recuerde ingresar al servidor usando su usuario y clave.
- 2) Ahora cree en la base de datos anterior una tabla llamada Películas, la cual almacenará información de películas de cine. Una película tendrá los siguientes campos: codigo, un entero que será la llave primaria de la tabla; nombre, una cadena no nula de hasta 100 caracteres para almacenar la información del nombre de la película y duración, que indica el tiempo (en minutos) que demora la película.
- 3) Copie a la carpeta C:\Archivos de programa\Apache Group\Tomcat 4.1\common\lib, el driver JDBC de MySQL. Aunque es posible trabajar con el driver ODBC, este es doble camino, ya que Java habla con el driver JDBC-ODBC, el cual habla con el driver ODBC, el cual habla con MySQL. En cambio usando el dirver JDBC, la aplicación habla directamente con MySQL. El driver se llama mysql-connector-java-3.0.6-stable-bin.jar
- 4) La primera tarea que vamos a realizar es insertar información en la tabla de películas. Para ello definamos una JavaBean que se encargue de realizar el trabajo sucio de guardar la información de la película en la base de datos. Escriba la siguiente clase en JBuilder o Kawa o JCreator. Vamos a usar paquetes, ya que el JDK1.4 tiene problemas con los beans que no hacen parte de paquetes. Esto no es necesario con JDK1.3. El paquete también lo llamamos cine. Un paquete es una carpeta donde se almacenarán las clases. Asegurese de guardar estos beans en la carpeta WEB-INF/classes de su aplicación. El bean es el siguiente:
package cine; // En esta carpeta se almacenarán los .class
import java.sql.*; // Para trabajo con BD
public class Película {
Connection conn = null; // La conexión con la BD
// Constructor
public Película() throws Exception { /* se encarga de realizar la conexión*/
try {
// Cargamos el Driver
Class.forName( “com.mysql.jdbc.Driver” );
// Armamos la conexión
conn = DriverManager.getConnection( “jdbc:mysql://localhost/cine”,
“usuario”, “clave” );
}
match (Exception ex) {
// Regeneramos la excepcion
throw new ex;
}
}
// Este metodo indica si existe o no la película con el codigo dado
public bolean existe( int codigo ) throws SQLException {
Boolean result = false; // El resultado de la funcion
// Vamos a usar PreparedStatements
PreparedStatement st ;
st = conn.prepareStatement( “select * from peliculas where codigo = ?” );
st.setInt( 1, codigo ); // Reemplazo de parámetros
ResultSet rs = st.executeQuery();
if ( rs.next() ) { // Hay datos
retornados por la consulta
result = false;
}
else {
result = true;
}
rs.close();
st.close();
return result;
}
// Este metodo inserta una nueva pelicula a la BD
public void agregar( int cod, String nom, int durac ) throws SQLException {
PreparedStatement st;
st = conn.prepareStatement( “insert into peliculas values(?,?,?)” );
st.setInt( 1, cod );
st.setString( 2, nom.toUpperCase() );
st.setInt( 3, durac );
st.executeUpdate();
st.close();
}
// Este método cierra la conexion con la BD
public void cerrar() {
try {
conn.close();
}
catch (Exception ex) { }
}
} // Fin de la clase