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.
Để bắt đầu với các khái niệm cơ bản truy cập Database trong JSP
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>
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>
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 |