Truy cập Database trong JSP



Trước khi vào chương này, chúng tôi giả sử bạn đã hiểu cách ứng dụng JDBC làm việc. Trước khi bắt đầu với truy cập Database thông qua một JSP, chắc chắn rằng bạn đã cài đặt môi trường JDBC thích hợp cùng với một Database.

Để biết thêm chi tiết về cách truy cập Database bởi sử dụng JDBC và cài đặt môi trường của nó, bạn nên tham khảo: JDBC Tutorial.

Để bắt đầu với các khái niệm cơ bản, chúng ta tạo một bẳng đơn giản và tạo một vài bản ghi trong bảng đó như sau:

Tạo table

Để tạo bảng Employees trong EMP database, bạn theo các bước:

Bước 1:

Mở một Command Prompt và thay đổi thư mục cài đặt như sau:

C:\>
C:\>cd Program Files\MySQL\bin
C:\Program Files\MySQL\bin>

Bước 2:

Login vào Database như sau:

C:\Program Files\MySQL\bin>mysql -u root -p
Enter password: ********
mysql>

Bước 3:

Tạo bảng Employee trong TEST database như sau:

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>
Quảng cáo

Tạo Data Record trong JSP

Cuối cùng, bạn tạo một số record trong Employee table như sau:

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>

Hoạt động SELECT trong JSP

Ví dụ sau minh họa cách chúng ta thực thi lệnh SQL SELECT bởi sử dụng JSTL trong lập trình 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="" 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="">
<tr>
   <td><c:out value=""/></td>
   <td><c:out value=""/></td>
   <td><c:out value=""/></td>
   <td><c:out value=""/></td>
</tr>
</c:forEach>
</table>
 
</body>
</html>
Quảng cáo

Bây giờ thử truy cập JSP trên, sẽ hiển thị kết quả sau:

Emp ID First Name Last Name Age
100 Zara Ali 18
101 Mahnaz Fatma 25
102 Zaid Khan 30
103 Sumit Mittal 28

Hoạt động INSERT trong JSP

Ví dụ này minh họa cách chúng ta thực thi lệnh SQL INSERT bởi sử dụng JSTL trong 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="" var="result">
INSERT INTO Employees VALUES (104, 2, 'Nuha', 'Ali');
</sql:update>
 
<sql:query dataSource="" 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="">
<tr>
   <td><c:out value=""/></td>
   <td><c:out value=""/></td>
   <td><c:out value=""/></td>
   <td><c:out value=""/></td>
</tr>
</c:forEach>
</table>
 
</body>
</html>

Bây giờ thử truy cập JSP trên, sẽ hiển thị kết quả sau:

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

Hoạt động DELETE trong JSP

Ví dụ này minh họa cách chúng ta thực thi lệnh SQL DELETE bởi sử dụng JSTL trong 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="" var="count">
  DELETE FROM Employees WHERE Id = ?
  <sql:param value="" />
</sql:update>
 
<sql:query dataSource="" 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="">
<tr>
   <td><c:out value=""/></td>
   <td><c:out value=""/></td>
   <td><c:out value=""/></td>
   <td><c:out value=""/></td>
</tr>
</c:forEach>
</table>
 
</body>
</html>

Bây giờ thử truy cập JSP trên, sẽ hiển thị kết quả sau:

Emp ID First Name Last Name Age
100 Zara Ali 18
101 Mahnaz Fatma 25
102 Zaid Khan 30

Hoạt động UPDATE trong JSP

Ví dụ này minh họa cách chúng ta thực thi lệnh SQL UPDATE bởi sử dụng JSTL trong 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="" var="count">
  UPDATE Employees SET last = 'Ali'
  <sql:param value="" />
</sql:update>
 
<sql:query dataSource="" 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="">
<tr>
   <td><c:out value=""/></td>
   <td><c:out value=""/></td>
   <td><c:out value=""/></td>
   <td><c:out value=""/></td>
</tr>
</c:forEach>
</table>
 
</body>
</html>

Bây giờ thử truy cập JSP trên, sẽ hiển thị kết quả sau:

Emp ID First Name Last Name Age
100 Zara Ali 18
101 Mahnaz Fatma 25
102 Zaid Ali 30

Đã có app VietJack trên điện thoại, giải bài tập SGK, SBT Soạn văn, Văn mẫu, Thi online, Bài giảng....miễn phí. Tải ngay ứng dụng trên Android và iOS.

Theo dõi chúng tôi miễn phí trên mạng xã hội facebook và youtube:

Các bạn có thể mua thêm khóa học JAVA CORE ONLINE VÀ ỨNG DỤNG cực hay, giúp các bạn vượt qua các dự án trên trường và đi thực tập Java. Khóa học có giá chỉ 300K, nhằm ưu đãi, tạo điều kiện cho sinh viên cho thể mua khóa học.

Nội dung khóa học gồm 16 chuơng và 100 video cực hay, học trực tiếp tại https://www.udemy.com/tu-tin-di-lam-voi-kien-thuc-ve-java-core-toan-tap/ Bạn nào có nhu cầu mua, inbox trực tiếp a Tuyền, cựu sinh viên Bách Khoa K53, fb: https://www.facebook.com/tuyen.vietjack

Follow facebook cá nhân Nguyễn Thanh Tuyền https://www.facebook.com/tuyen.vietjack để tiếp tục theo dõi các loạt bài mới nhất về Java,C,C++,Javascript,HTML,Python,Database,Mobile.... mới nhất của chúng tôi.

Các bài học JSP khác tại VietJack:




Tài liệu giáo viên