Mysql Con JSP

4
ACCESO A BASE DE DATOS MYSQL CON JSP CONTENIDO 1. ACCESO A BASES DE DATOS MYSQL 1.1. PASOS PARA ACCEDER A BASE DE DATOS 1.2. EJEMPLO DE CONSULTA E INSERSIÓN DE DATOS 2. EJERCICIO PROPUESTO 1. ACCESO A BASES DE DATOS MYSQL 1.1. PASOS PARA ACCEDER A BASE DE DATOS JDBC es una API pura de Java que se usa para ejecutar comandos de SQL. Suministra una serie de clases e interfaces que permiten al desarrollador de Web escribir aplicaciones que gestionen Bases de Datos. La interacción típica con una base de datos consta de los siguientes cuatro pasos básicos: o Abrir la conexión a la base de datos o Ejecutar consultas contra la base de datos o Procesar los resultados o Cerrar la conexión a la base de datos // Paso 1. Abrir la conexión a la base de datos. //MEDIANTE ODBC Connection conexion = DriverManager.getConnection("jdbc:odbc:Nombre_ODBC","usuario","password"); //CONEXIÓN DIRECTA A MYSQL Class.forName("com.mysql.jdbc.Driver").newInstance(); conn = DriverManager.getConnection("jdbc:mysql://localhost/prueba? user=root&password="); // Paso 2. Ejecutar consultas a la base de datos. Statement Estamento = conexion.creStatement(); ResultSet rs = Estamento.executeQuery("select dni,nombre,apellidos,edad from agenda"); // Paso 3. Procesar los resultados. En este caso los muestra en pantalla. while (rs.next()) { out.println("DNI ->"+ rs.getString("dni")); out.println("NOMBRE ->"+ rs.getString("nombre")); out.println("APELLIDOS ->"+ rs.getString("apellidos")); out.println("EDAD ->"+ rs.getInt("edad")); } // Paso 4 . Cerrar la conexión a la base de datos. rs.close(); Estamento.close(); conexion.close(); Ing. Bertha Mazón 1

Transcript of Mysql Con JSP

Page 1: Mysql Con JSP

ACCESO A BASE DE DATOS MYSQL CON JSP

CONTENIDO1. ACCESO A BASES DE DATOS MYSQL

1.1. PASOS PARA ACCEDER A BASE DE DATOS 1.2. EJEMPLO DE CONSULTA E INSERSIÓN DE DATOS

2. EJERCICIO PROPUESTO

1. ACCESO A BASES DE DATOS MYSQL

1.1. PASOS PARA ACCEDER A BASE DE DATOS

JDBC es una API pura de Java que se usa para ejecutar comandos de SQL. Suministra una serie de clases e interfaces que permiten al desarrollador de Web escribir aplicaciones que gestionen Bases de Datos.

La interacción típica con una base de datos consta de los siguientes cuatro pasos básicos:

o Abrir la conexión a la base de datoso Ejecutar consultas contra la base de datoso Procesar los resultadoso Cerrar la conexión a la base de datos

// Paso 1. Abrir la conexión a la base de datos.//MEDIANTE ODBCConnection conexion =DriverManager.getConnection("jdbc:odbc:Nombre_ODBC","usuario","password");

//CONEXIÓN DIRECTA A MYSQLClass.forName("com.mysql.jdbc.Driver").newInstance();conn = DriverManager.getConnection("jdbc:mysql://localhost/prueba?user=root&password=");

// Paso 2. Ejecutar consultas a la base de datos.Statement Estamento = conexion.creStatement();ResultSet rs = Estamento.executeQuery("select dni,nombre,apellidos,edad fromagenda");

// Paso 3. Procesar los resultados. En este caso los muestra en pantalla.while (rs.next()) {out.println("DNI ->"+ rs.getString("dni"));out.println("NOMBRE ->"+ rs.getString("nombre"));out.println("APELLIDOS ->"+ rs.getString("apellidos"));out.println("EDAD ->"+ rs.getInt("edad"));}

// Paso 4 . Cerrar la conexión a la base de datos.rs.close();Estamento.close();conexion.close();

1.2. CONSULTA E INSERSIÓN DE DATOS

Crear una Base de Datos en Mysql con el nombre: pruebaCrear una tabla con el nombre articulo y que contenga los siguientes campos:

- codigo varchar(6) clave principal- descripcion varchar(50)- cantidad int(10) unsigned- precio float

Ejemplo: bd_consulta.jsp

Ing. Bertha Mazón 1

Page 2: Mysql Con JSP

<%//declaración de variables globales

Statement stmt_consul=null, stmt_inser = null; ResultSet rs = null; Connection conn= null;Object dato;

//conexion a la base de datostry { Class.forName("com.mysql.jdbc.Driver").newInstance(); conn = DriverManager.getConnection("jdbc:mysql://localhost/prueba?user=root&password=");}catch(SQLException ex) {}

//insersión de datosString temp2=request.getParameter("op");if(temp2==null)temp2="";if(temp2.compareTo("Guardar")==0){ try{

stmt_inser = conn.createStatement(); String codigo=request.getParameter("txtcodigo"); if(codigo==null)codigo="";String desc=request.getParameter("txtdesc"); if(desc==null)desc="";int cant=Integer.parseInt(request.getParameter("txtcant"));String precio=request.getParameter("txtprecio"); if(precio==null)desc="0";

String strSQL= "INSERT INTO articulo values('" + codigo + "','" + desc + "'," + cant + "," + precio +")";

stmt_inser.executeUpdate(strSQL);out.println("Insersión exitosa");

} catch (SQLException ex) {}}

//Consultar la base de datostry{

stmt_consul = conn.createStatement(); rs = stmt_consul.executeQuery("SELECT * FROM articulo"); rs = stmt_consul.getResultSet();

} catch (SQLException ex) {out.println("SQLException: " + ex.getMessage()); out.println("SQLState: " + ex.getSQLState()); out.println("VendorError: " + ex.getErrorCode());

}%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><title>Documento sin t&iacute;tulo</title><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></head>

<body>

<div align="center"><strong>LISTADO DE ART&Iacute;CULOS </strong><br></div><table width="464" height="52" border="1" align="center"> <tr align="center" bgcolor="#FFFFCC"> <td><strong>C&oacute;digo</strong></td> <td><strong>Descripci&oacute;n</strong></td> <td><strong>Cantidad</strong></td> <td><strong>Precio</strong></td> </tr> <% while (rs.next()) { %> <tr> <td><%= (dato=rs.getObject("codigo"))==null ?"":dato%></td> <td><%= (dato=rs.getObject("descripcion"))==null ?"":dato%></td> <td><%= (dato=rs.getObject("cantidad"))==null ?"":dato%></td> <td><%= (dato=rs.getObject("precio"))==null ?"":dato%></td>

Ing. Bertha Mazón 2

Page 3: Mysql Con JSP

</tr> <% } %></table><blockquote> <p><a href="bd_consulta.jsp?op=frmInsert">Nuevo art&iacute;culo </a> </p></blockquote><%

String temp1=request.getParameter("op");if(temp1==null)temp1="";if(temp1.compareTo("frmInsert")==0){

%><form name="form1" method="post" action="bd_consulta.jsp"><fieldset> <table width="552" border="0" align="center" cellpadding="0" cellspacing="0"> <tr> <td bordercolor="#FFFFCC" bgcolor="#FFFFCC"><strong>Código:</strong></td> <td><input name="txtcodigo" type="text" size="10" maxlength="6"></td> </tr> <tr> <td bordercolor="#FFFFCC" bgcolor="#FFFFCC"><strong>Descripción: </strong></td> <td><input name="txtdesc" type="text" size="50" maxlength="50"></td> </tr>

<tr> <td bordercolor="#FFFFCC" bgcolor="#FFFFCC"><strong>Cantidad: </strong></td> <td><input name="txtcant" type="text" size="10" maxlength="10"></td></tr><tr> <td bordercolor="#FFFFCC" bgcolor="#FFFFCC"><strong>Precio: </strong></td> <td><input name="txtprecio" type="text" size="10" maxlength="10"></td></tr><tr align="center">

<td colspan="2" bordercolor="#FFFFCC" bgcolor="#FFFFCC"><input name="op" type="submit" id="op" value="Guardar"></td>

</tr> </table> </fieldset></form><% }//fin formulario %>

</body></html><% //cerrar la conexion

try { rs.close(); stmt_consul.close(); conn.close();

} catch (SQLException sqlEx) {} %>

2. Resolver el siguiente ejercicio en JSP

Crear una base de datos “trabajo”, con las tablas profesión (código, nom_profesion) y profesional (código, ci, nombre, apellido, fecha de nacimiento, ciudad, dirección, teléfono, título principal, estudios realizados, cursos realizados, trabajos desempeñados y referencias personales).Implementar una aplicación web que permita:

- Publicar el currículo de un nuevo profesional- Listar los profesionales clasificados por profesión- Buscar un profesional por apellido- Eliminar un profesional- Actualizar los datos de un profesional

Ing. Bertha Mazón 3