Latest web development tutorials

<Sql: Transaktion> -Tag

JSP Standard-Tag-Bibliothek JSP Standard - Tag - Bibliothek

<Sql: Transaktion> Tag, um die <sql: query> und <sql: update> -Tag Transaktion zu verpacken. Sie können eine große Anzahl von sein <sql: query> und <sql: update> Operationen laden <sql: Transaktion>, um sie in einer einzigen Transaktion zu machen.

Es stellt sicher, dass Änderungen an der Datenbank statt abgegeben zu werden, ist wieder aufgerollt werden.

Syntax

<sql:transaction dataSource="<string>" isolation="<string>"/>

Immobilien

<Sql: Transaktion> Tag hat folgende Attribute:

Immobilien Beschreibung notfalls Default
datasource Wird von der Datenbank (den Standardwert außer Kraft zu setzen) keine Standard-Datenbank
Isolation Transaktionsisolationsstufe (READ_COMMITTED ,, READ_UNCOMMITTED, REPEATABLE_READ oder SERIALIZABLE) keine Die Standarddatenbank


Beispiele Demo

Zuerst müssen Sie in einer Testdatenbank Tabelle Personal zu bauen, und dann ein paar Datensätze zur Tabelle hinzufügen, die Schritte sind wie folgt:

Schritt 1:

Öffnen Sie die CMD, gehen Sie in das Verzeichnis des Installationsverzeichnisses:

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

Schritt 2:

Anmelden Datenbank:

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

Schritt 3:

TEST etablieren Employees-Tabelle in der Datenbank:

mysql> use TEST;
mysql> create table Students
    (
     id int not null,
     first varchar (255),
     last varchar (255),
     dob date
    );
Query OK, 0 rows affected (0.08 sec)
mysql>

Erstellen Sie einen Datensatz:

Schließlich ein paar Einträge in der Tabelle Personal zu erstellen:

mysql> INSERT INTO Students 
          VALUES (100, 'Zara', 'Ali', '2002/05/16');
Query OK, 1 row affected (0.05 sec)
 
mysql> INSERT INTO Students 
          VALUES (101, 'Mahnaz', 'Fatma', '1978/11/28');
Query OK, 1 row affected (0.00 sec)
 
mysql> INSERT INTO Students 
          VALUES (102, 'Zaid', 'Khan', '1980/10/10');
Query OK, 1 row affected (0.00 sec)
 
mysql> INSERT INTO Students 
          VALUES (103, 'Sumit', 'Mittal', '1971/05/08');
Query OK, 1 row affected (0.00 sec)
 
mysql>

Jetzt schreiben JSP-Dateien, verwenden Sie das <sql: update> und <sql: Transaktion> to SQL UPDATE-Anweisungen ausführen. In <sql: Transaktion> Der Code nicht ausgeführt wird, ist keine Ausführung:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ page import="java.io.*,java.util.*,java.sql.*"%>
<%@ page import="javax.servlet.http.*,javax.servlet.*"%>
<%@ page import="java.util.Date,java.text.*" %>

<%@ 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>JSTL sql:transaction Tag</title>
</head>
<body>
 
<sql:setDataSource var="snapshot" driver="com.mysql.jdbc.Driver"
     url="jdbc:mysql://localhost/TEST"
     user="root"  password="cohondob"/>

<%
Date DoB = new Date("2001/12/16");
int studentId = 100;
%>

<sql:transaction dataSource="${snapshot}">
   <sql:update var="count">
      UPDATE Students SET last = 'Ali' WHERE Id = 102
   </sql:update>
   <sql:update var="count">
      UPDATE Students SET last = 'Shah' WHERE Id = 103
   </sql:update>
   <sql:update var="count">
     INSERT INTO Students 
     VALUES (104,'Nuha', 'Ali', '2010/05/26');
   </sql:update>
</sql:transaction>

<sql:query dataSource="${snapshot}" var="result">
   SELECT * from Students;
</sql:query>
 
<table border="1" width="100%">
<tr>
<th>Emp ID</th>
<th>First Name</th>
<th>Last Name</th>
<th>DoB</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.dob}"/></td>
</tr>
</c:forEach>
</table>
 
</body>
</html>

Ergebnisse sind wie folgt:

SQL-transcation


JSP Standard-Tag-Bibliothek JSP Standard - Tag - Bibliothek