JSP: acceso a la base de datos
En este capítulo, discutiremos cómo acceder a la base de datos con JSP. Suponemos que comprende bien cómo funciona la aplicación JDBC. Antes de comenzar con el acceso a la base de datos a través de una JSP, asegúrese de tener la configuración adecuada del entorno JDBC junto con una base de datos.
Para obtener más detalles sobre cómo acceder a la base de datos usando JDBC y su configuración de entorno, puede consultar nuestro Tutorial de JDBC .
Para comenzar con el concepto básico, creemos una tabla y creemos algunos registros en esa tabla de la siguiente manera:
Crear mesa
Para crear el Employees tabla en la base de datos EMP, siga los siguientes pasos:
Paso 1
Abre un Command Prompt y cambie al directorio de instalación de la siguiente manera:
C:\>
C:\>cd Program Files\MySQL\bin
C:\Program Files\MySQL\bin>
Paso 2
Inicie sesión en la base de datos de la siguiente manera:
C:\Program Files\MySQL\bin>mysql -u root -p
Enter password: ********
mysql>
Paso 3
Crea el Employee mesa en el TEST base de datos de la siguiente manera - -
mysql> use TEST;
mysql> create table Employees
(
id int not null,
age int not null,
first varchar (255),
last varchar (255)
);
Query OK, 0 rows affected (0.08 sec)
mysql>
Crear registros de datos
Creemos ahora algunos registros en el Employee tabla de la siguiente manera - -
mysql> INSERT INTO Employees VALUES (100, 18, 'Zara', 'Ali');
Query OK, 1 row affected (0.05 sec)
mysql> INSERT INTO Employees VALUES (101, 25, 'Mahnaz', 'Fatma');
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO Employees VALUES (102, 30, 'Zaid', 'Khan');
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO Employees VALUES (103, 28, 'Sumit', 'Mittal');
Query OK, 1 row affected (0.00 sec)
mysql>
SELECCIONAR Operación
El siguiente ejemplo muestra cómo podemos ejecutar el SQL SELECT declaración usando JTSL en programación JSP -
<%@ page import = "java.io.*,java.util.*,java.sql.*"%>
<%@ page import = "javax.servlet.http.*,javax.servlet.*" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix = "c"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix = "sql"%>
<html>
<head>
<title>SELECT Operation</title>
</head>
<body>
<sql:setDataSource var = "snapshot" driver = "com.mysql.jdbc.Driver"
url = "jdbc:mysql://localhost/TEST"
user = "root" password = "pass123"/>
<sql:query dataSource = "${snapshot}" var = "result">
SELECT * from Employees;
</sql:query>
<table border = "1" width = "100%">
<tr>
<th>Emp ID</th>
<th>First Name</th>
<th>Last Name</th>
<th>Age</th>
</tr>
<c:forEach var = "row" items = "${result.rows}">
<tr>
<td><c:out value = "${row.id}"/></td>
<td><c:out value = "${row.first}"/></td>
<td><c:out value = "${row.last}"/></td>
<td><c:out value = "${row.age}"/></td>
</tr>
</c:forEach>
</table>
</body>
</html>
Acceda a la JSP anterior, se mostrará el siguiente resultado:
Emp ID
First Name
Last Name
Age
100
Zara
Ali
18
101
Mahnaz
Fatma
25
102
Zaid
Khan
30
103
Sumit
Mittal
28
INSERTAR Operación
El siguiente ejemplo muestra cómo podemos ejecutar la instrucción SQL INSERT usando JTSL en la programación JSP:
<%@ page import = "java.io.*,java.util.*,java.sql.*"%>
<%@ page import = "javax.servlet.http.*,javax.servlet.*" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix = "c"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix = "sql"%>
<html>
<head>
<title>JINSERT Operation</title>
</head>
<body>
<sql:setDataSource var = "snapshot" driver = "com.mysql.jdbc.Driver"
url = "jdbc:mysql://localhost/TEST"
user = "root" password = "pass123"/>
<sql:update dataSource = "${snapshot}" var = "result">
INSERT INTO Employees VALUES (104, 2, 'Nuha', 'Ali');
</sql:update>
<sql:query dataSource = "${snapshot}" var = "result">
SELECT * from Employees;
</sql:query>
<table border = "1" width = "100%">
<tr>
<th>Emp ID</th>
<th>First Name</th>
<th>Last Name</th>
<th>Age</th>
</tr>
<c:forEach var = "row" items = "${result.rows}">
<tr>
<td><c:out value = "${row.id}"/></td>
<td><c:out value = "${row.first}"/></td>
<td><c:out value = "${row.last}"/></td>
<td><c:out value = "${row.age}"/></td>
</tr>
</c:forEach>
</table>
</body>
</html>
Acceda a la JSP anterior, se mostrará el siguiente resultado:
Emp ID
First Name
Last Name
Age
100
Zara
Ali
18
101
Mahnaz
Fatma
25
102
Zaid
Khan
30
103
Sumit
Mittal
28
104
Nuha
Ali
2
Operación DELETE
El siguiente ejemplo muestra cómo podemos ejecutar el SQL DELETE declaración usando JTSL en programación JSP -
<%@ page import = "java.io.*,java.util.*,java.sql.*"%>
<%@ page import = "javax.servlet.http.*,javax.servlet.*" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix = "c"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix = "sql"%>
<html>
<head>
<title>DELETE Operation</title>
</head>
<body>
<sql:setDataSource var = "snapshot" driver = "com.mysql.jdbc.Driver"
url = "jdbc:mysql://localhost/TEST"
user = "root" password = "pass123"/>
<c:set var = "empId" value = "103"/>
<sql:update dataSource = "${snapshot}" var = "count">
DELETE FROM Employees WHERE Id = ?
<sql:param value = "${empId}" />
</sql:update>
<sql:query dataSource = "${snapshot}" var = "result">
SELECT * from Employees;
</sql:query>
<table border = "1" width = "100%">
<tr>
<th>Emp ID</th>
<th>First Name</th>
<th>Last Name</th>
<th>Age</th>
</tr>
<c:forEach var = "row" items = "${result.rows}">
<tr>
<td><c:out value = "${row.id}"/></td>
<td><c:out value = "${row.first}"/></td>
<td><c:out value = "${row.last}"/></td>
<td><c:out value = "${row.age}"/></td>
</tr>
</c:forEach>
</table>
</body>
</html>
Acceda a la JSP anterior, se mostrará el siguiente resultado:
Emp ID
First Name
Last Name
Age
100
Zara
Ali
18
101
Mahnaz
Fatma
25
102
Zaid
Khan
30
Operación ACTUALIZAR
El siguiente ejemplo muestra cómo podemos ejecutar el SQL UPDATE declaración usando JTSL en programación JSP -
<%@ page import = "java.io.*,java.util.*,java.sql.*"%>
<%@ page import = "javax.servlet.http.*,javax.servlet.*" %>
<%@ taglib uri = "http://java.sun.com/jsp/jstl/core" prefix = "c"%>
<%@ taglib uri = "http://java.sun.com/jsp/jstl/sql" prefix = "sql"%>
<html>
<head>
<title>DELETE Operation</title>
</head>
<body>
<sql:setDataSource var = "snapshot" driver = "com.mysql.jdbc.Driver"
url = "jdbc:mysql://localhost/TEST"
user = "root" password = "pass123"/>
<c:set var = "empId" value = "102"/>
<sql:update dataSource = "${snapshot}" var = "count">
UPDATE Employees SET WHERE last = 'Ali'
<sql:param value = "${empId}" />
</sql:update>
<sql:query dataSource = "${snapshot}" var = "result">
SELECT * from Employees;
</sql:query>
<table border = "1" width = "100%">
<tr>
<th>Emp ID</th>
<th>First Name</th>
<th>Last Name</th>
<th>Age</th>
</tr>
<c:forEach var = "row" items = "${result.rows}">
<tr>
<td><c:out value = "${row.id}"/></td>
<td><c:out value = "${row.first}"/></td>
<td><c:out value = "${row.last}"/></td>
<td><c:out value = "${row.age}"/></td>
</tr>
</c:forEach>
</table>
</body>
</html>
Acceda a la JSP anterior, se mostrará el siguiente resultado:
Emp ID
First Name
Last Name
Age
100
Zara
Ali
18
101
Mahnaz
Fatma
25
102
Zaid
Ali
30