JSP adatbázis-kapcsolat

Csatlakozás az adatbázishoz JSP-ben

Az adatbázis különféle típusú adatok tárolására szolgál, amelyek hatalmasak és gigabájtban vannak tárolva. A JSP csatlakozhat ilyen adatbázisokhoz a rekordok létrehozásához és kezeléséhez.

Ebben az oktatóanyagban megtanuljuk, hogyan hozhat létre táblát az adatbázisban, és hogyan hozhat létre rekordokat ezekben a táblákban JSP-n keresztül.

Táblázat létrehozása

In MYSQL adatbázis, bármelyik MYSQL klienssel létrehozhatunk táblázatot az adatbázisban. Itt a PHPMyadminclient-et használjuk, és van egy „új” lehetőségünk egy új táblázat létrehozására az alábbi képernyőkép segítségével.

Hozzon létre táblázatot a JSP adatbázisban

Ebben meg kell adnunk a tábla nevét guru_test-ként, és létrehozunk két mezőt: emp_id és emp_name.

Az Emp_idis, amelynek adattípusa int

Az Emp_name adattípusa varchar

Hozzon létre táblázatot a JSP adatbázisban

Egy másik lehetőség a parancssor használata és a MYSQL-könyvtár módosítása:

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

Az adatbázisba az alábbiak szerint tudunk bejelentkezni:

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

Hozzon létre guru_test táblát a GuruTestas nevű adatbázisban a következőképpen a MYSQL promptban:

Mysql> use GuruTest;
MySql> create table guru_test(
Emp_idint NOT NULL,
Emp_namevarchar(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)

Először a rekordokat a segítségével illesztjük be INSERT lekérdezni, majd használhatjuk SELECT lekérdezés annak ellenőrzésére, hogy a tábla létrejött-e vagy sem.

Rekordok létrehozása

A tábla létrehozása után rekordokat kell létrehoznunk a guru_test táblába az insert query segítségével, amely alább látható:

Az ide bevitt rekordok a következők:

  • 1 és guru emp1
  • 2 és 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 Operalehetőségek: Beszúrás, Frissítés, Törlés, Kiválasztás

A JSP használatával több műveletet is elvégezhetünk az adatbázisban. Beilleszthetjük a rekordokat, illetve törölhetjük a nem szükséges rekordokat. Ha valamelyik rekordot szerkeszteni kell, akkor frissítéssel megtehetjük. A Select művelet segít a szükséges rekordok lekérésében.

választ

A Select művelet a rekordok táblázatból való kiválasztására szolgál.

Példa:

Ebben a példában a rekordok lekérésének kiválasztási műveletét fogjuk megismerni a fenti részben létrehozott guru_test táblából.

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

A kód magyarázata:

1. kódsor: Itt importálunk io, uti és SQL Java könyvtárak.

3. kódsor: Itt importáljuk a JSTL törzskönyvtárát, és az előtagot gurucore-ként adjuk meg, amely segít a kimenet megszerzésében.

4. kódsor: Itt importáljuk a jstl SQL-könyvtárát, és az előtagját gurusql-ként adjuk meg, amely segít az SQL-műveletek elvégzésében.

15-17. kódsor: Itt a gurusql használatával az adatforrást úgy kapcsoljuk össze, hogy a változót „guru”-nak nevezzük el, az illesztőprogramot pedig JDBC-illesztőprogramnak. Felhasználónév és jelszó hozzáadása a „gururoot” és a „guru” szavakkal.

19-21. kódsor: Itt a kiválasztási lekérdezés SQL lekérdezését használjuk.

31-32. kódsor: Kinyomtatjuk az emp id és emp name kimenetét, amelyeket a lekérdezés eredményeiből kérünk le, és a foreach ciklus használatával kinyomtatjuk a kimenetet.

Amikor végrehajtja a fenti kódot, a kimenetet az alábbiak szerint kapjuk meg;

output:

Itt mindkét rekord lekérésre kerül az adatbázisból

1 guru emp1

2 guru emp2

betétlap

Az Insert operátor a rekordok beszúrására szolgál adatbázis.

Példa:

Ebben a példában a rekordok beszúrását a guru_test táblába fogjuk megtanulni

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

A kód magyarázata:

19-20. kódsor: Itt rekordokat szúrunk be a GuruTestadatbázis guru_test táblájába. A beillesztett rekordok: empID – 3 és empname – emp emp3. Ezek a rekordok bekerülnek a táblába. Amikor végrehajtja a kódot, a rekordok guru_test néven kerülnek be a táblába, 3-as értékkel és emp emp3-mal.

Jegyzet: Itt nem a kimenetet jelenítjük meg, mivel csak beszúrjuk a rekordot a táblázatba. A rekordot a select query használatával kaphatjuk meg, mint 'select * from guru_test'. Ha a rekordot akkor illesztjük be, akkor az értéket 3 és emp3 formában kapjuk. Ha a rekord nincs beszúrva, akkor a 3 nem jelenik meg a táblázat rekordjaiban.

Törölni

Ez egy törlési művelet, ahol a rekordokat töröljük a guru_test táblából.

Példa:

Itt töröljük a lekérdezést a rekord törlésére a guru_test táblából. A törölni kívánt rekordot a „guruid” változóban kell beállítani, és a megfelelő rekord törlődik az adatbázisból.

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

A kód magyarázata:

18. kódsor: Beállítunk egy guruid változót, melynek értéke 3, amit törölnünk kell az adatbázisból. Ez mindig a tábla elsődleges kulcsa. Ebben az esetben az elsődleges kulcs az emp_id.

19-22. kódsor: Itt egy törlési lekérdezést használunk, amely paramétert állít be a where záradékban. Itt a guruid paraméter a 18-as kódsorban van beállítva. A megfelelő rekord törlődik.

output:

A fenti kód végrehajtásakor az emp_id 3-as rekord törlődik.

Jegyzet: Ebben a példában nem tudjuk megjeleníteni a kimenetet, mivel a rekordot töröljük a táblából. Annak ellenőrzéséhez, hogy a rekord törölve van-e, a „select * from guru_test” lekérdezést kell használnunk. Ebben az esetben, ha 3-at kapunk emp id-ként, akkor a törlési lekérdezés meghiúsult, különben a rekord sikeresen törölve lett.

Frissítések

A frissítés a táblázat rekordjainak szerkesztésére szolgál.

Példa:

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

A kód magyarázata:

18. kódsor: Itt egy változó guruidot állítunk be 2-re. Ez az az azonosító, ahol frissíteni szeretnénk a rekordot.

19-22. kódsor: Itt egy frissítési lekérdezéssel frissítjük a rekordot a rekord guru_test táblájában, amely a 18. pontban van beállítva. Itt az emp guru2 helyére az emp guru99 lép.

output:

A fenti kód végrehajtásakor az emp_id 2 rekord 99-re módosul. Tehát most a kimeneten az emp "guru99" lesz látható az emp "guru2" helyett.

Összegzésként

Ebben az oktatóanyagban a JSP-nek az adatbázishoz való csatlakoztatásáról és az adatbázis-hozzáférésről tanultunk. Ezenkívül megtudtuk az adatbázisban lévő táblán végrehajtott különféle műveleteket, mint például a létrehozás, törlés, frissítés stb.

Foglald össze ezt a bejegyzést a következőképpen: