Conexiune la baza de date JSP

⚡ Rezumat inteligent

Conexiunea la baza de date JSP permite unei aplicații web să stocheze și să gestioneze volume mari de date prin conectarea paginilor JSP la o bază de date relațională. Această resursă explică modul de creare a unei MySQL tabel, inserați înregistrări și efectuați operațiuni de selectare, inserare, actualizare și ștergere folosind etichete SQL JSTL.

  • 🗄️ Scop: Bazele de date stochează gigaocteți de date pe care JSP le poate crea, citi și gestiona.
  • 🧱 Creați tabel: Construiți o tabelă guru_test cu emp_id și emp_name folosind un MySQL client sau prompt.
  • 🔌 Conexiune: Eticheta sql:setDataSource furnizează driverul JDBC, URL, utilizator și parolă.
  • 🔁 BRUT Operaacțiuni: Operațiunile Select, Insert, Update și Delete sunt executate prin intermediul etichetelor SQL JSTL.
  • 🔑 parametri: Folosește sql:param și o cheie primară, cum ar fi emp_id, pentru a viza înregistrări specifice.

Conexiune la baza de date JSP

Conectarea la baza de date în JSP

Baza de date este utilizată pentru stocarea diferitelor tipuri de date, care sunt uriașe și au o capacitate de stocare de ordinul gigabyților. JSP se poate conecta la astfel de baze de date pentru a crea și gestiona înregistrările.

În acest tutorial, vom afla cum să creați un tabel în baza de date și cum să creați înregistrări în aceste tabele prin JSP.

Creați tabel

In Baza de date MYSQL, putem crea un tabel în baza de date cu orice client MYSQL. Aici folosim clientul PHPMyadmin și acolo avem o opțiune „nou” pentru a crea un tabel nou folosind captura de ecran de mai jos.

Creați tabel în baza de date JSP

În acest caz, trebuie să furnizăm numele tabelului ca guru_test și vom crea două câmpuri, emp_id și emp_name.

  • Emp_id are tipul de date ca int
  • Emp_name are tipul de date varchar

Creați tabel în baza de date JSP

O altă opțiune este utilizarea liniei de comandă și schimbarea directorului MYSQL:

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

Ne putem conecta la baza de date astfel:

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

Creați tabelul guru_test în baza de date numit ca GuruTestați după cum urmează în promptul 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)

Mai întâi, înregistrările sunt inserate folosind INSERT interogare, iar apoi putem folosi SELECT interogare pentru a verifica dacă tabelul este creat sau nu.

Creați înregistrări

După crearea unui tabel, trebuie să creăm înregistrări în tabelul guru_test folosind interogarea de inserare, care este prezentată mai jos:

Înregistrările introduse aici sunt:

  • 1 si guru emp1
  • 2 si 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 Operacțiuni: Inserare, Actualizare, Ștergere, Selectare

Folosind JSP, putem efectua mai multe operațiuni în baza de date. Putem insera înregistrări și, de asemenea, putem șterge înregistrările care nu sunt necesare. Dacă o înregistrare trebuie editată, atunci o putem face folosind o actualizare. Operația de selectare va ajuta la preluarea înregistrărilor necesare.

Selectați

Operația Selectare este utilizată pentru a selecta înregistrările din tabel.

Exemplu:

În acest exemplu, vom învăța despre operațiunea de selecție de preluare a înregistrărilor din tabela guru_test, care a fost creată în secțiunea de mai sus.

<%@ 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>

Explicația codului:

Code Linia 1: Aici importăm io, util și SQL biblioteci de java.

Code Linia 3: Aici importăm biblioteca de bază a JSTL și îi atribuim prefixul c, ceea ce va ajuta la obținerea rezultatului.

Code Linia 4: Aici importăm biblioteca SQL a JSTL și îi atribuim prefixul sql, ceea ce va ajuta la efectuarea operațiunilor SQL.

Code Linia 15-17: Aici, folosind sql, conectăm sursa de date denumind variabila „snapshot” și driverul ca driver JDBC. De asemenea, adăugăm numele de utilizator și parola ca „gururoot” și „guru”.

Code Linia 19-21: Aici folosim interogarea SQL a interogării de selecție.

Code Linia 31-32: Afișăm rezultatul pentru emp id și emp name, care sunt extrase din rezultatele interogării, și folosind o buclă foreach afișăm rezultatul.

Când executați codul de mai sus, vom obține rezultatul de mai jos:

ieșire:

Aici ambele înregistrări vor fi preluate din baza de date:

  • 1 guru emp1
  • 2 guru emp2

Insera

Operatorul Insert este utilizat pentru a insera înregistrările în Baza de date.

Exemplu:

În acest exemplu, vom învăța cum să inserăm înregistrările în tabelul 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>

Explicația codului:

Code Linia 19-20: Aici inserăm înregistrări în tabelul guru_test al GuruBază de date de testare. Înregistrările inserate sunt: ​​empID – 3 și empname – emp emp3Aceste înregistrări vor fi inserate în tabel. Când executați codul, înregistrările sunt inserate în tabelul guru_test, cu valoarea 3 și emp e.mp3.

Notă: Aici nu afișăm rezultatul, deoarece doar inserăm înregistrarea în tabel. Putem obține înregistrarea folosind interogarea de selecție ca „select * from guru_test”. Dacă înregistrarea a fost inserată, atunci am obține valoarea ca 3 și e.mp3Dacă înregistrarea nu este inserată, atunci 3 nu va fi vizibil în înregistrările din tabel.

Șterge

Aceasta este operațiunea de ștergere prin care ștergem înregistrările din tabela guru_test.

Exemplu:

Aici vom folosi interogarea delete pentru a șterge înregistrarea din tabela guru_test. Înregistrarea care trebuie ștearsă trebuie setată în variabila „guruid”, iar înregistrarea corespunzătoare este ștearsă din baza de date.

<%@ 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>

Explicația codului:

Code Linia 18: Setăm o variabilă guruid a cărei valoare este 3, care trebuie șters din baza de date. Aceasta este întotdeauna o cheie primară a tabelului. În acest caz, cheia primară este emp_id.

Code Linia 19-22: Aici folosim o interogare de ștergere care setează un parametru în clauza where. Aici parametrul este guruid, care este setat în linia de cod 18. Înregistrarea corespunzătoare este ștearsă.

ieșire:

Când executați codul de mai sus, înregistrarea cu emp_id ca 3 este ștearsă.

Notă: În acest exemplu, nu putem afișa rezultatul deoarece ștergem înregistrarea din tabel. Pentru a verifica dacă acea înregistrare este ștearsă, trebuie să folosim interogarea de selecție „select * from guru_test”. În acest caz, dacă obținem 3 ca ID emp, atunci interogarea de ștergere a eșuat; altfel, înregistrarea a fost ștearsă cu succes.

Actualizează

Actualizarea este utilizată pentru a edita înregistrările din tabel.

Exemplu:

<%@ 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>

Explicația codului:

Code Linia 18: Aici setăm un guruid variabil ca 2. Acesta este ID-ul în care dorim să actualizăm înregistrarea.

Code Linia 19-22: Aici folosim o interogare de actualizare pentru a actualiza înregistrarea din tabelul guru_test al înregistrării, care este setată la punctul 18. Aici, emp guru2 este înlocuit cu emp guru99.

ieșire:

Când executați codul de mai sus, înregistrarea cu emp_id 2 se schimbă la 99. Așadar, acum rezultatul va afișa emp „guru99” în loc de emp „guru2”.

Întrebări frecvente

Da. Asistenții AI pot genera etichete SQL JSTL sau cod JDBC pentru conectarea JSP la MySQL, construiește interogări și mapează rânduri de rezultate. Ar trebui să verifici în continuare driverul, URLși acreditările înainte de rulare.

Da. Instrumentele de inteligență artificială pot semnala interogările concatenate din șiruri de caractere și pot sugera interogări parametrizate sau instrucțiuni pregătite. Acest lucru reduce riscul de injecție SQL, deși se recomandă în continuare verificarea manuală a securității tuturor intrărilor din baza de date.

JDBC (Java Conectivitate la baza de date) este API-ul care permite Java iar aplicațiile JSP se conectează la o bază de date. Aceasta încarcă un driver precum com.mysql.jdbc.Driver și execută instrucțiuni SQL prin conexiune.

Nu. Etichetele SQL JSTL sunt potrivite pentru învățare și prototipuri. Pentru producție, logica bazei de date aparține servleturilor, DAO-urilor sau unui framework, keeping JSP s-a concentrat pe prezentare mai degrabă decât pe interogări directe.

Rezumați această postare cu: