In diesem Kapitel wird davon ausgegangen, dass Sie bereits über gewisse Kenntnisse von JDBC verfügen. Bevor Sie mit dem Erlernen des JSP-Datenbankzugriffs beginnen, stellen Sie bitte sicher, dass die JDBC-Umgebung korrekt konfiguriert wurde.
Führen Sie zunächst die folgenden Schritte aus, um eine einfache Tabelle zu erstellen und einige einfache Datensätze einzufügen:
Erstellen Sie eine Mitarbeitertabelle in der Datenbank. Die Schritte sind wie folgt:
Öffnen Sie CMD und geben Sie das Datenbankinstallationsverzeichnis ein:
C:>C:>cd ProgrammeMySQLbinC:ProgrammeMySQLbin>
C:ProgrammeMySQLbin>mysql -u root -pGeben Sie das Passwort ein: ********mysql>
Verwenden Sie die Anweisung „create Database“, um eine neue Datenbank TEST zu erstellen:
mysql> Datenbank erstellen TEST
Erstellen Sie die Employee-Tabelle in der TEST-Datenbank:
mysql> use TEST;mysql> create table Employees (id int not null, age int not null, first varchar (255), last varchar (255) );Query OK, 0 Zeilen betroffen (0,08 Sek.)mysql>
Fügen Sie nach dem Erstellen der Mitarbeitertabelle mehrere Datensätze in die Tabelle ein:
mysql> INSERT INTO Employees VALUES (100, 18, 'Zara', 'Ali'); Abfrage OK, 1 Zeile betroffen (0,05 Sek.) mysql> INSERT INTO Employees VALUES (101, 25, 'Mahnaz', 'Fatma'); Abfrage OK, 1 Zeile betroffen (0,00 Sek.) mysql> INSERT INTO Employees VALUES (102, 30, 'Zaid', 'Khan');Abfrage OK, 1 Zeile betroffen (0,00 Sek.) mysql> INSERT INTO Employees VALUES (103, 28, 'Sumit', 'Mittal');Abfrage OK, 1 Zeile betroffen (0,00 Sek.) mysql>
Das folgende Beispiel zeigt uns, wie wir JSTL-SQL-Tags verwenden, um SQL-SELECT-Anweisungen auszuführen:
<%@
Seitensprache
=
"Java"
Inhaltstyp
=
„text/html; charset=UTF-8“
Seitenkodierung
=
„UTF-8“
%>
<%@
Seite
Import
=
„java.io.*,java.util.*,java.sql.*“
%>
<%@
Seite
Import
=
„javax.servlet.http.*,javax.servlet.*“
%>
<%@
taglib uri
=
„http://java.sun.com/jsp/jstl/core“
Präfix
=
"C"
%>
<%@
taglib uri
=
„http://java.sun.com/jsp/jstl/sql“
Präfix
=
„SQL“
%>
<html>
<Kopf>
<Titel>
SELECT-Vorgang
</title>
</head>
<Körper>
<sql:setDataSource
var
=
"Schnappschuss"
Treiber
=
„com.mysql.jdbc.Driver“
URL
=
„jdbc:mysql://localhost:3306/TEST“
Benutzer
=
"Wurzel"
Passwort
=
„pass123“
/>
<sql:query
Datenquelle
=
„${snapshot}“
var
=
"Ergebnis"
>
SELECT * aus Mitarbeiter;
</sql:query>
<Tabelle
Grenze
=
„1“
Breite
=
„100 %“
>
<tr>
<th>
Mitarbeiter-ID
</th>
<th>
Vorname
</th>
<th>
Nachname
</th>
<th>
Alter
</th>
</tr>
<c:forEach
var
=
"Reihe"
Artikel
=
„${result.rows}“
>
<tr>
<td><c:out
Wert
=
„${row.id}“
/></td>
<td><c:out
Wert
=
„${row.first}“
/></td>
<td><c:out
Wert
=
„${row.last}“
/></td>
<td><c:out
Wert
=
„${row.age}“
/></td>
</tr>
</c:forEach>
</table>
</body>
</html>
Greifen Sie auf dieses JSP-Beispiel zu und die Ergebnisse lauten wie folgt:
Dieses Beispiel zeigt uns, wie wir JSTL-SQL-Tags verwenden, um SQL-INSERT-Anweisungen auszuführen:
<%@
Seitensprache
=
"Java"
Inhaltstyp
=
„text/html; charset=UTF-8“
Seitenkodierung
=
„UTF-8“
%>
<%@
Seite
Import
=
„java.io.*,java.util.*,java.sql.*“
%>
<%@
Seite
Import
=
„javax.servlet.http.*,javax.servlet.*“
%>
<%@
taglib uri
=
„http://java.sun.com/jsp/jstl/core“
Präfix
=
"C"
%>
<%@
taglib uri
=
„http://java.sun.com/jsp/jstl/sql“
Präfix
=
„SQL“
%>
<html>
<Kopf>
<Titel>
INSERT-Vorgang
</title>
</head>
<Körper>
<sql:setDataSource
var
=
"Schnappschuss"
Treiber
=
„com.mysql.jdbc.Driver“
URL
=
„jdbc:mysql://localhost/TEST“
Benutzer
=
"Wurzel"
Passwort
=
„pass123“
/>
<sql:update
Datenquelle
=
„${snapshot}“
var
=
"Ergebnis"
>
INSERT INTO Employees VALUES (104, 2, 'Nuha', 'Ali');
</sql:update>
<sql:query
Datenquelle
=
„${snapshot}“
var
=
"Ergebnis"
>
SELECT * aus Mitarbeiter;
</sql:query>
<Tabelle
Grenze
=
„1“
Breite
=
„100 %“
>
<tr>
<th>
Mitarbeiter-ID
</th>
<th>
Vorname
</th>
<th>
Nachname
</th>
<th>
Alter
</th>
</tr>
<c:forEach
var
=
"Reihe"
Artikel
=
„${result.rows}“
>
<tr>
<td><c:out
Wert
=
„${row.id}“
/></td>
<td><c:out
Wert
=
„${row.first}“
/></td>
<td><c:out
Wert
=
„${row.last}“
/></td>
<td><c:out
Wert
=
„${row.age}“
/></td>
</tr>
</c:forEach>
</table>
</body>
</html>
Greifen Sie auf dieses JSP-Beispiel zu und die Ergebnisse lauten wie folgt:
Dieses Beispiel zeigt uns, wie wir JSTL-SQL-Tags verwenden, um SQL-DELETE-Anweisungen auszuführen:
<%@
Seitensprache
=
"Java"
Inhaltstyp
=
„text/html; charset=UTF-8“
Seitenkodierung
=
„UTF-8“
%>
<%@
Seite
Import
=
„java.io.*,java.util.*,java.sql.*“
%>
<%@
Seite
Import
=
„javax.servlet.http.*,javax.servlet.*“
%>
<%@
taglib uri
=
„http://java.sun.com/jsp/jstl/core“
Präfix
=
"C"
%>
<%@
taglib uri
=
„http://java.sun.com/jsp/jstl/sql“
Präfix
=
„SQL“
%>
<html>
<Kopf>
<Titel>
DELETE-Vorgang
</title>
</head>
<Körper>
<sql:setDataSource
var
=
"Schnappschuss"
Treiber
=
„com.mysql.jdbc.Driver“
URL
=
„jdbc:mysql://localhost/TEST“
Benutzer
=
"Wurzel"
Passwort
=
„pass123“
/>
<c:set
var
=
„empId“
Wert
=
„103“
/>
<sql:update
Datenquelle
=
„${snapshot}“
var
=
"zählen"
>
VON Mitarbeitern LÖSCHEN WHERE Id = ?
<sql:param
Wert
=
„${empId}“
/>
</sql:update>
<sql:query
Datenquelle
=
„${snapshot}“
var
=
"Ergebnis"
>
SELECT * aus Mitarbeiter;
</sql:query>
<Tabelle
Grenze
=
„1“
Breite
=
„100 %“
>
<tr>
<th>
Mitarbeiter-ID
</th>
<th>
Vorname
</th>
<th>
Nachname
</th>
<th>
Alter
</th>
</tr>
<c:forEach
var
=
"Reihe"
Artikel
=
„${result.rows}“
>
<tr>
<td><c:out
Wert
=
„${row.id}“
/></td>
<td><c:out
Wert
=
„${row.first}“
/></td>
<td><c:out
Wert
=
„${row.last}“
/></td>
<td><c:out
Wert
=
„${row.age}“
/></td>
</tr>
</c:forEach>
</table>
</body>
</html>
Greifen Sie auf dieses JSP-Beispiel zu und die Ergebnisse lauten wie folgt:
Dieses Beispiel zeigt uns, wie wir JSTL-SQL-Tags verwenden, um SQL UPDATE-Anweisungen auszuführen:
<%@
Seitensprache
=
"Java"
Inhaltstyp
=
„text/html; charset=UTF-8“
Seitenkodierung
=
„UTF-8“
%>
<%@
Seite
Import
=
„java.io.*,java.util.*,java.sql.*“
%>
<%@
Seite
Import
=
„javax.servlet.http.*,javax.servlet.*“
%>
<%@
taglib uri
=
„http://java.sun.com/jsp/jstl/core“
Präfix
=
"C"
%>
<%@
taglib uri
=
„http://java.sun.com/jsp/jstl/sql“
Präfix
=
„SQL“
%>
<html>
<Kopf>
<Titel>
UPDATE-Vorgang
</title>
</head>
<Körper>
<sql:setDataSource
var
=
"Schnappschuss"
Treiber
=
„com.mysql.jdbc.Driver“
URL
=
„jdbc:mysql://localhost/TEST“
Benutzer
=
"Wurzel"
Passwort
=
„pass123“
/>
<c:set
var
=
„empId“
Wert
=
„102“
/>
<sql:update
Datenquelle
=
„${snapshot}“
var
=
"zählen"
>
UPDATE Employees SET last = 'Ali' WHERE Id = ?
<sql:param
Wert
=
„${empId}“
/>
</sql:update>
<sql:query
Datenquelle
=
„${snapshot}“
var
=
"Ergebnis"
>
SELECT * aus Mitarbeiter;
</sql:query>
<Tabelle
Grenze
=
„1“
Breite
=
„100 %“
>
<tr>
<th>
Mitarbeiter-ID
</th>
<th>
Vorname
</th>
<th>
Nachname
</th>
<th>
Alter
</th>
</tr>
<c:forEach
var
=
"Reihe"
Artikel
=
„${result.rows}“
>
<tr>
<td><c:out
Wert
=
„${row.id}“
/></td>
<td><c:out
Wert
=
„${row.first}“
/></td>
<td><c:out
Wert
=
„${row.last}“
/></td>
<td><c:out
Wert
=
„${row.age}“
/></td>
</tr>
</c:forEach>
</table>
</body>
</html>
Greifen Sie auf dieses JSP-Beispiel zu und die Ergebnisse lauten wie folgt: