Connessione al database JSP

โšก Riepilogo intelligente

La connessione al database JSP consente a un'applicazione web di archiviare e gestire grandi volumi di dati collegando le pagine JSP a un database relazionale. Questa risorsa spiega come creare una connessione al database JSP. MySQL รˆ possibile creare tabelle, inserire record ed eseguire operazioni di selezione, inserimento, aggiornamento ed eliminazione utilizzando i tag SQL di JSTL.

  • ๏ธ Scopo: I database memorizzano gigabyte di dati che JSP puรฒ creare, leggere e gestire.
  • ๐Ÿงฑ Crea tabella: Crea una tabella guru_test con emp_id e emp_name utilizzando un MySQL cliente o richiesta.
  • ???? Collegamento: Il tag sql:setDataSource fornisce il driver JDBC, URLnome utente e password.
  • ๐Ÿ” CRUDELE Operazioni: Le operazioni di selezione, inserimento, aggiornamento ed eliminazione vengono eseguite tramite tag SQL JSTL.
  • ๐Ÿ”‘ parametri: Utilizza sql:param e una chiave primaria, come emp_id, per selezionare record specifici.

Connessione al database JSP

Connessione al database in JSP

Il database viene utilizzato per archiviare vari tipi di dati, spesso di grandi dimensioni e con una capacitร  di memorizzazione di gigabyte. JSP puรฒ connettersi a tali database per creare e gestire i record.

In questo tutorial impareremo come creare una tabella nel database e come creare record in queste tabelle tramite JSP.

Crea tabella

In Database MYSQLPossiamo creare una tabella nel database con qualsiasi client MySQL. Qui stiamo usando il client PHPMyAdmin, che offre l'opzione "New" per creare una nuova tabella, come mostrato nello screenshot seguente.

Crea tabella nel database JSP

In questo caso, dobbiamo specificare il nome della tabella come guru_test e creeremo due campi, emp_id e emp_name.

  • Emp_id ha tipo di dati int
  • Il tipo di dati di Emp_name รจ varchar

Crea tabella nel database JSP

Un'altra opzione รจ utilizzare il prompt dei comandi e spostarsi nella directory di MySQL:

C:\>
C:\>cd Program Files\MY SQL\bin
C:\>Program Files\MySql\bin>

Possiamo accedere al database nel seguente modo:

C:\Program Files\MYSQL\bin>mysql โ€“u gururoot โ€“p
Enter Password: *******
Mysql>

Crea la tabella guru_test nel database denominato come GuruEseguire il test come segue nel prompt di MySQL:

Mysql> use GuruTest;
MySql> create table guru_test(
Emp_id int NOT NULL,
Emp_name varchar(11),
           );
Once you execute this you get the following:
Query OK, 0 rows affected(0.10 sec)
MySQl> select * from guru_test;
Query OK, 0 rows affected(0.10 sec)

Innanzitutto i record vengono inseriti utilizzando il INSERT interrogazione, e poi possiamo usare la SELECT query per verificare se la tabella รจ stata creata o meno.

Crea record

Dopo aver creato una tabella, dobbiamo creare dei record nella tabella guru_test utilizzando la query di inserimento, come mostrato di seguito:

I record inseriti qui sono:

  • 1 e guru emp1
  • 2 e guru emp2
MySql>INSERT INTO `couch_tomato_db`.`guru_test` (`emp_id`, `emp_name`) VALUES ('1', 'guru emp1');
Query OK, 1 row affected (0.05 sec)

MySQL>INSERT INTO `couch_tomato_db`.`guru_test` (`emp_id`, `emp_name`) VALUES ('2', 'guru emp2');
Query OK, 1 row affected (0.05 sec)

JSP Operazioni: Inserisci, Aggiorna, Elimina, Seleziona

Utilizzando JSP, possiamo eseguire diverse operazioni sul database. Possiamo inserire record ed eliminare quelli non necessari. Se un record deve essere modificato, possiamo farlo tramite un'operazione di aggiornamento. L'operazione di selezione (Select) ci permette di recuperare i record desiderati.

Seleziona

L'operazione Seleziona viene utilizzata per selezionare i record dalla tabella.

Esempio:

In questo esempio, impareremo a conoscere l'operazione di selezione per recuperare i record dalla tabella guru_test, creata nella sezione precedente.

<%@ 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"%>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Guru Database JSP1</title>
</head>
<body>

 <sql:setDataSource var="snapshot" driver="com.mysql.jdbc.Driver"
     url="jdbc:mysql://localhost/GuruTest"
     user="gururoot"  password="guru"/>

<sql:query dataSource="${snapshot}" var="result">
SELECT * from guru_test;
</sql:query>

<table>
<tr>
   <th>Guru ID</th>
   <th>Name</th>

</tr>
<c:forEach var="row" items="${result.rows}">
<tr>
   <td><c:out value="${row.emp_id}"/></td>
   <td><c:out value="${row.emp_name}"/></td>

</tr>
</c:forEach>
</table>

</body>
</html>

Spiegazione del codice:

Code Linea 1: Qui stiamo importando io, util e SQL librerie di Java.

Code Linea 3: Qui stiamo importando la libreria principale di JSTL e le stiamo assegnando il prefisso "c", che ci aiuterร  a ottenere l'output.

Code Linea 4: Qui stiamo importando la libreria SQL di JSTL e le assegniamo il prefisso sql, che ci aiuterร  a eseguire le operazioni SQL.

Code Linea 15-17: Qui, utilizzando SQL, ci connettiamo all'origine dati denominando la variabile "snapshot" e il driver come driver JDBC. Aggiungiamo anche il nome utente e la password, rispettivamente "gururoot" e "guru".

Code Linea 19-21: Qui stiamo utilizzando la query SQL della query SELECT.

Code Linea 31-32: Stiamo stampando l'output per emp id e emp name, che vengono recuperati dai risultati della query, e utilizzando un ciclo foreach stampiamo l'output.

Eseguendo il codice sopra riportato, otterremo il seguente output:

Produzione:

In questo caso, entrambi i record verranno recuperati dal database:

  • 1 guru dip1
  • 2 guru dip2

inserire

L'operatore Insert viene utilizzato per inserire i record nel banca dati.

Esempio:

In questo esempio, impareremo come inserire i record nella tabella guru_test.

<%@ 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="gurucore"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="gurusql"%>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Guru Database JSP1</title>
</head>
<body>

 <gurusql:setDataSource var="guru" driver="com.mysql.jdbc.Driver"
     url="jdbc:mysql://localhost/GuruTest"
     user="gururoot"  password="guru"/>

     <gurusql:update dataSource="${guru}" var="guruvar">
INSERT INTO guru_test VALUES (3, 'emp emp3');
</gurusql:update>



</body>
</html>

Spiegazione del codice:

Code Linea 19-20: Qui stiamo inserendo record nella tabella guru_test del GuruDatabase di prova. I record inseriti sono: empID โ€“ 3 e empname โ€“ emp emp3. Questi record verranno inseriti nella tabella. Quando esegui il codice, i record vengono inseriti nella tabella guru_test, con valore 3 e emp emp3.

Nota: Qui non mostriamo l'output perchรฉ stiamo solo inserendo il record nella tabella. Possiamo ottenere il record usando la query SELECT come 'select * from guru_test'. Se il record รจ stato inserito, otterremo il valore come 3 e emp3Se il record non viene inserito, il numero 3 non sarร  visibile tra i record nella tabella.

Elimina

Questa รจ l'operazione di eliminazione con cui cancelliamo i record dalla tabella guru_test.

Esempio:

Qui utilizzeremo la query DELETE per eliminare il record dalla tabella guru_test. Il record da eliminare deve essere impostato nella variabile "guruid" e il record corrispondente viene eliminato dal database.

<%@ 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="gurucore"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="gurusql"%>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Guru Database JSP1</title>
</head>
<body>

 <gurusql:setDataSource var="guru" driver="com.mysql.jdbc.Driver"
     url="jdbc:mysql://localhost/GuruTest"
     user="gururoot"  password="guru"/>
     <gurucore:set var="guruid" value="3"/>
     <gurusql:update dataSource="${guru}" var="guruvar">
DELETE FROM guru_test WHERE emp_id = ?
  <gurusql:param value="${guruid}" />
</gurusql:update>



</body>
</html>

Spiegazione del codice:

Code Linea 18: Stiamo impostando una variabile guruid il cui valore รจ 3, che deve essere cancellata dal database. Questa รจ sempre una chiave primaria della tabella. In questo caso, la chiave primaria รจ emp_id.

Code Linea 19-22: Qui stiamo utilizzando una query di eliminazione che imposta un parametro nella clausola WHERE. In questo caso, il parametro รจ guruid, che viene impostato alla riga di codice 18. Il record corrispondente viene eliminato.

Produzione:

Quando esegui il codice precedente, il record con emp_id uguale a 3 viene eliminato.

Nota: In questo esempio, non possiamo mostrare l'output poichรฉ stiamo eliminando il record dalla tabella. Per verificare se il record รจ stato eliminato, dobbiamo utilizzare la query SELECT "SELECT * FROM guru_test". In tal caso, se otteniamo 3 come ID dipendente, la query di eliminazione non รจ andata a buon fine; altrimenti il โ€‹โ€‹record รจ stato eliminato correttamente.

Aggiornanento

L'aggiornamento viene utilizzato per modificare i record nella tabella.

Esempio:

<%@ 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="gurucore"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="gurusql"%>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Guru Database JSP1</title>
</head>
<body>

<gurusql:setDataSource var="guru" driver="com.mysql.jdbc.Driver"
     url="jdbc:mysql://localhost/GuruTest"
     user="gururoot"  password="guru"/>
     <gurucore:set var="guruid" value="2"/>
     <gurusql:update dataSource="${guru}" var="guruvar">
UPDATE guru_test SET emp_name='emp guru99'
  <gurusql:param value="${guruid}" />
</gurusql:update>



</body>
</html>

Spiegazione del codice:

Code Linea 18: Qui stiamo impostando una variabile guruid come 2. Questo รจ l'ID in cui vogliamo aggiornare il record.

Code Linea 19-22: Qui utilizziamo una query di aggiornamento per aggiornare il record nella tabella guru_test, come indicato al punto 18. In questo caso, il dipendente guru2 viene sostituito dal dipendente guru99.

Produzione:

Quando si esegue il codice sopra riportato, il record con emp_id 2 viene modificato in 99. Pertanto, ora l'output mostrerร  emp "guru99" invece di emp "guru2".

DOMANDE FREQUENTI

Sรฌ. Gli assistenti AI possono generare tag SQL JSTL o codice JDBC per connettere JSP a MySQL, creare query e mappare le righe dei risultati. Dovresti comunque verificare il driver, URLe le credenziali prima dell'esecuzione.

Sรฌ. Gli strumenti di intelligenza artificiale possono segnalare le query concatenate di stringhe e suggerire query parametrizzate o istruzioni preparate. Ciรฒ riduce il rischio di SQL injection, sebbene sia comunque consigliabile una revisione manuale della sicurezza di tutti gli input del database.

JDBC (Java La connettivitร  al database) รจ l'API che consente Java Le applicazioni JSP si connettono a un database. Caricano un driver come com.mysql.jdbc.Driver ed eseguono istruzioni SQL tramite la connessione.

No. I tag SQL di JSTL sono adatti per l'apprendimento e i prototipi. Per la produzione, la logica del database appartiene ai servlet, ai DAO o a un framework, mantieniping JSP si concentra sulla presentazione piuttosto che sulle query dirette.

Riassumi questo post con: