java server pages chapter 12: accessing a database
TRANSCRIPT
![Page 1: Java Server Pages Chapter 12: Accessing a Database](https://reader031.vdocument.in/reader031/viewer/2022022206/6213b5f3280720048f085dae/html5/thumbnails/1.jpg)
Java Server Pages Chapter 12: Accessing a
Database
Slides material compiled from Java Server Pages 3rd Edition
by Hans Bergsten
![Page 2: Java Server Pages Chapter 12: Accessing a Database](https://reader031.vdocument.in/reader031/viewer/2022022206/6213b5f3280720048f085dae/html5/thumbnails/2.jpg)
Accessing a Database from a JSP Page
• Almost all web applications access a database – customer information, order information, product
information, discussion forum messages
• JSTL actions for database access provide the following features: – Using a connection pool for better performance and
scalability – Supporting queries, updates, and inserts – Handling the most common data type conversions – Supporting a combination of database operations in
one transaction
Rakhi s=Saxena (Internet Technologies) 2
![Page 3: Java Server Pages Chapter 12: Accessing a Database](https://reader031.vdocument.in/reader031/viewer/2022022206/6213b5f3280720048f085dae/html5/thumbnails/3.jpg)
Example – Create Table • Create Employees table in the TEST database
• Step 1: Open a Command Prompt and change to the installation directory
C:\>cd C:\Program Files\MySQL\MySQL Server 8.0\bin
• Step 2: Login to the database
C:\Program Files\MySQL\MySQL Server 8.0\bin>mysql -u root -p
Enter password: ********
mysql> show databases;
mysql> create database TEST;
Rakhi s=Saxena (Internet Technologies) 3
![Page 4: Java Server Pages Chapter 12: Accessing a Database](https://reader031.vdocument.in/reader031/viewer/2022022206/6213b5f3280720048f085dae/html5/thumbnails/4.jpg)
Employees table
Column Name SQL Datatype
Id int
age int
first varchar
last varchar
Rakhi s=Saxena (Internet Technologies) 4
![Page 5: Java Server Pages Chapter 12: Accessing a Database](https://reader031.vdocument.in/reader031/viewer/2022022206/6213b5f3280720048f085dae/html5/thumbnails/5.jpg)
Example – Create Table
• Step 3: Create the Employee table in the TEST database
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>
Rakhi s=Saxena (Internet Technologies) 5
![Page 6: Java Server Pages Chapter 12: Accessing a Database](https://reader031.vdocument.in/reader031/viewer/2022022206/6213b5f3280720048f085dae/html5/thumbnails/6.jpg)
Create Data Records 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> SELECT * from Employees; Rakhi s=Saxena (Internet Technologies) 6
![Page 7: Java Server Pages Chapter 12: Accessing a Database](https://reader031.vdocument.in/reader031/viewer/2022022206/6213b5f3280720048f085dae/html5/thumbnails/7.jpg)
SELECT Operation using JSTL <%@ 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> Rakhi s=Saxena (Internet Technologies) 7
![Page 8: Java Server Pages Chapter 12: Accessing a Database](https://reader031.vdocument.in/reader031/viewer/2022022206/6213b5f3280720048f085dae/html5/thumbnails/8.jpg)
SELECT Operation using JSTL <sql:setDataSource var = "snapshot" driver = "com.mysql.jdbc.Driver" url = "jdbc:mysql://localhost/TEST" user = "root" password = "password"/> <sql:query dataSource = "${snapshot}" var = "result"> SELECT * from Employees; </sql:query>
Rakhi s=Saxena (Internet Technologies) 8
![Page 9: Java Server Pages Chapter 12: Accessing a Database](https://reader031.vdocument.in/reader031/viewer/2022022206/6213b5f3280720048f085dae/html5/thumbnails/9.jpg)
SELECT Operation using JSTL <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> Rakhi s=Saxena (Internet Technologies) 9
![Page 10: Java Server Pages Chapter 12: Accessing a Database](https://reader031.vdocument.in/reader031/viewer/2022022206/6213b5f3280720048f085dae/html5/thumbnails/10.jpg)
Output
Emp ID First Name Last Name Age
100 Zara Ali 18
101 Mahnaz Fatma 25
102 Zaid Khan 30
103 Sumit Mittal 28
Rakhi s=Saxena (Internet Technologies) 10
![Page 11: Java Server Pages Chapter 12: Accessing a Database](https://reader031.vdocument.in/reader031/viewer/2022022206/6213b5f3280720048f085dae/html5/thumbnails/11.jpg)
INSERT Operation
<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>
Rakhi s=Saxena (Internet Technologies) 11
![Page 12: Java Server Pages Chapter 12: Accessing a Database](https://reader031.vdocument.in/reader031/viewer/2022022206/6213b5f3280720048f085dae/html5/thumbnails/12.jpg)
Output
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
Rakhi s=Saxena (Internet Technologies) 12
![Page 13: Java Server Pages Chapter 12: Accessing a Database](https://reader031.vdocument.in/reader031/viewer/2022022206/6213b5f3280720048f085dae/html5/thumbnails/13.jpg)
DELETE Operation
<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>
Rakhi s=Saxena (Internet Technologies) 13
![Page 14: Java Server Pages Chapter 12: Accessing a Database](https://reader031.vdocument.in/reader031/viewer/2022022206/6213b5f3280720048f085dae/html5/thumbnails/14.jpg)
Output
Emp ID First Name Last Name Age
100 Zara Ali 18
101 Mahnaz Fatma 25
102 Zaid Khan 30
104 Nuha Ali 2
Rakhi s=Saxena (Internet Technologies) 14
![Page 15: Java Server Pages Chapter 12: Accessing a Database](https://reader031.vdocument.in/reader031/viewer/2022022206/6213b5f3280720048f085dae/html5/thumbnails/15.jpg)
UPDATE Operation
<c:set var = "empId" value = "102"/>
<sql:update dataSource = "${snapshot}" var = "count">
UPDATE Employees SET last = 'Ali' WHERE Id=? <sql:param value = "${empId}" />
</sql:update>
<sql:query dataSource = "${snapshot}" var = "result">
SELECT * from Employees;
</sql:query>
Rakhi s=Saxena (Internet Technologies) 15
![Page 16: Java Server Pages Chapter 12: Accessing a Database](https://reader031.vdocument.in/reader031/viewer/2022022206/6213b5f3280720048f085dae/html5/thumbnails/16.jpg)
Output
Emp ID First Name Last Name Age
100 Zara Ali 18
101 Mahnaz Fatma 25
102 Zaid Ali 30
104 Nuha Ali 2
Rakhi s=Saxena (Internet Technologies) 16