JSP veza s bazom podataka

⚡ Pametni sažetak

JSP povezivanje s bazom podataka omogućuje web aplikaciji pohranjivanje i upravljanje velikim količinama podataka povezivanjem JSP stranica s relacijskom bazom podataka. Ovaj resurs objašnjava kako stvoriti MySQL tablicu, umetati zapise i izvršavati operacije odabira, umetanja, ažuriranja i brisanja pomoću JSTL SQL oznaka.

  • 🗄️ Svrha: Baze podataka pohranjuju gigabajte podataka koje JSP može kreirati, čitati i njima upravljati.
  • 🧱 Izradi tablicu: Izgradite tablicu guru_test s emp_id i emp_name koristeći MySQL klijent ili prompt.
  • 🔌 Priključak: Oznaka sql:setDataSource osigurava JDBC upravljački program, URL, korisnik i lozinka.
  • 🔁 ZDRAVO Operaticije: Odabir, umetanje, ažuriranje i brisanje se izvršavaju putem JSTL sql oznaka.
  • 🔑 Parametri: Koristite sql:param i primarni ključ, kao što je emp_id, za ciljanje određenih zapisa.

JSP veza s bazom podataka

Povezivanje s bazom podataka u JSP-u

Baza podataka koristi se za pohranu raznih vrsta podataka koji su ogromni i imaju kapacitet pohrane u gigabajtima. JSP se može povezati s takvim bazama podataka kako bi stvarao i upravljao zapisima.

U ovom vodiču naučit ćemo kako stvoriti tablicu u bazi podataka i kako stvoriti zapise u tim tablicama putem JSP-a.

Stvori tablicu

In MYSQL baza podataka, možemo stvoriti tablicu u bazi podataka s bilo kojim MYSQL klijentom. Ovdje koristimo PHPMyadmin klijent, a tamo imamo opciju "novo" za stvaranje nove tablice pomoću donje snimke zaslona.

Stvorite tablicu u JSP bazi podataka

U ovome moramo navesti naziv tablice kao guru_test i kreirat ćemo dva polja, emp_id i emp_name.

  • Emp_id ima tip podataka kao int
  • Emp_name ima tip podataka varchar

Stvorite tablicu u JSP bazi podataka

Druga mogućnost je korištenje naredbenog retka i promjena u MYSQL direktorij:

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

U bazu podataka možemo se prijaviti na sljedeći način:

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

Napravite tablicu guru_test u bazi podataka pod nazivom GuruTestirajte na sljedeći način u MYSQL promptu:

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)

Prvo se zapisi unose pomoću INSERT upit, a zatim možemo koristiti SELECT upit za provjeru je li tablica kreirana ili ne.

Stvorite zapise

Nakon kreiranja tablice, potrebno je kreirati zapise u tablici guru_test pomoću upita za umetanje, koji je prikazan u nastavku:

Ovdje uneseni zapisi su:

  • 1 i guru emp1
  • 2 i 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 Operaopcije: Umetni, Ažuriraj, Izbriši, Odaberi

Pomoću JSP-a možemo izvršiti više operacija u bazi podataka. Možemo umetnuti zapise, a također možemo izbrisati nepotrebne zapise. Ako je potrebno urediti neki zapis, to možemo učiniti pomoću ažuriranja. Operacija odabira pomoći će u dohvaćanju potrebnih zapisa.

odabrati

Operacija Select koristi se za odabir zapisa iz tablice.

Primjer:

U ovom primjeru, naučit ćemo o operaciji odabira za dohvaćanje zapisa iz tablice guru_test, koja je kreirana u gornjem odjeljku.

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

Objašnjenje koda:

Code Redak 1: Ovdje uvozimo io, util i SQL java knjižnice.

Code Redak 3: Ovdje uvozimo osnovnu biblioteku JSTL-a i dajemo joj prefiks c, što će pomoći u dobivanju izlaza.

Code Redak 4: Ovdje uvozimo SQL biblioteku JSTL-a i dajemo joj prefiks sql, što će pomoći u izvršavanju SQL operacija.

Code Redak 15-17: Ovdje, koristeći SQL, povezujemo izvor podataka imenovanjem varijable kao "snapshot", a upravljačkog programa kao JDBC upravljačkog programa. Također dodajemo korisničko ime i lozinku kao "gururoot" i "guru".

Code Redak 19-21: Ovdje koristimo SQL upit upita za odabir.

Code Redak 31-32: Ispisujemo izlaz za emp id i emp name, koji se dohvaćaju iz rezultata upita, i pomoću petlje foreach ispisujemo izlaz.

Kada izvršimo gornji kod, dobit ćemo izlaz kao što je prikazano u nastavku:

Izlaz:

Ovdje će oba zapisa biti dohvaćena iz baze podataka:

  • 1 guru emp1
  • 2 guru emp2

umetak

Operator Insert se koristi za umetanje zapisa u baza podataka.

Primjer:

U ovom primjeru ćemo naučiti o umetanju zapisa u tablicu 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>

Objašnjenje koda:

Code Redak 19-20: Ovdje ubacujemo zapise u tablicu guru_test od GuruTestna baza podataka. Umetnuti zapisi su: empID – 3 i empname – emp emp3Ovi će zapisi biti umetnuti u tablicu. Kada izvršite kod, zapisi se umetnu u tablicu guru_test, s vrijednošću 3 i praznim poljem e.mp3.

Bilješka: Ovdje ne prikazujemo izlaz jer samo umećemo zapis u tablicu. Zapis možemo dobiti pomoću upita za odabir kao 'select * from guru_test'. Ako je zapis umetnut, tada bismo dobili vrijednost kao 3 i e.mp3Ako zapis nije umetnut, tada se 3 neće vidjeti u zapisima u tablici.

Izbrisati

Ovo je operacija brisanja gdje brišemo zapise iz tablice guru_test.

Primjer:

Ovdje ćemo koristiti upit za brisanje kako bismo izbrisali zapis iz tablice guru_test. Zapis koji treba izbrisati mora se postaviti u varijablu „guruid“, a odgovarajući zapis se briše iz baze podataka.

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

Objašnjenje koda:

Code Redak 18: Postavljamo varijablu guruid čija je vrijednost 3, koja se mora izbrisati iz baze podataka. Ovo je uvijek primarni ključ tablice. U ovom slučaju, primarni ključ je emp_id.

Code Redak 19-22: Ovdje koristimo upit za brisanje koji postavlja parametar u klauzuli where. Ovdje je parametar guruid, koji je postavljen u retku koda 18. Odgovarajući zapis se briše.

Izlaz:

Kada izvršite gornji kôd, briše se zapis s emp_id kao 3.

Bilješka: U ovom primjeru ne možemo prikazati izlaz jer brišemo zapis iz tablice. Da bismo provjerili je li taj zapis izbrisan, moramo upotrijebiti upit za odabir „select * from guru_test“. U tom slučaju, ako dobijemo 3 kao emp id, upit za brisanje nije uspio; u suprotnom je zapis uspješno izbrisan.

Nadopune

Ažuriranje se koristi za uređivanje zapisa u tablici.

Primjer:

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

Objašnjenje koda:

Code Redak 18: Ovdje postavljamo varijablu guruid kao 2. Ovo je ID gdje želimo ažurirati zapis.

Code Redak 19-22: Ovdje koristimo upit za ažuriranje kako bismo ažurirali zapis u tablici guru_test zapisa, koji je postavljen u točki 18. Ovdje je emp guru2 zamijenjen s emp guru99.

Izlaz:

Kada izvršite gornji kod, zapis s emp_id 2 mijenja se u 99. Dakle, sada će izlaz prikazivati ​​emp „guru99“ umjesto emp „guru2“.

Pitanja i odgovori

Da. AI asistenti mogu generirati JSTL SQL oznake ili JDBC kod za povezivanje JSP-a s MySQL, izgraditi upite i mapirati retke rezultata. I dalje biste trebali provjeriti upravljački program, URLi vjerodajnice prije pokretanja.

Da. Alati umjetne inteligencije mogu označiti upite povezane nizovima znakova i predložiti parametrizirane upite ili pripremljene naredbe. To smanjuje rizik od SQL injekcije, iako se i dalje preporučuje ručni sigurnosni pregled svih ulaza u bazu podataka.

JDBC (Java Povezivanje s bazom podataka) je API koji omogućuje Java i JSP aplikacije se povezuju s bazom podataka. Učitava se upravljački program kao što je com.mysql.jdbc.Driver i izvršava SQL naredbe preko veze.

Ne. JSTL sql oznake odgovaraju učenju i prototipovima. Za produkciju, logika baze podataka pripada servletima, DAO-ima ili frameworku, keeping JSP se usredotočio na prezentaciju, a ne na izravne upite.

Sažmite ovu objavu uz: