JSP andmebaasi ühendus

Andmebaasiga ühendamine JSP-s

Andmebaasi kasutatakse erinevat tüüpi andmete salvestamiseks, mis on suured ja mille salvestusmaht on gigabaitides. JSP saab selliste andmebaasidega luua ja hallata kirjeid.

Selles õpetuses õpime, kuidas luua andmebaasis tabelit ja kuidas JSP kaudu neis tabelites kirjeid luua.

Loo tabel

In MYSQL andmebaas, saame luua andmebaasis tabeli mis tahes MYSQL-kliendiga. Siin kasutame PHPMyadminclienti ja seal on alloleva ekraanipildi abil uue tabeli loomiseks valik "uus".

Looge tabel JSP andmebaasis

Selles peame andma tabeli nime guru_test ja loome kaks välja'emp_id ja emp_name.

Emp_idis, mille andmetüüp on int

Emp_name on andmetüübiga varchar

Looge tabel JSP andmebaasis

Teine võimalus on käsuviiba kasutamine ja MYSQL kataloogi muudatused:

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

Saame andmebaasi sisse logida järgmiselt:

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

Looge andmebaasis GuruTestas tabel guru_testas järgmine MYSQL-i viipa:

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)

Esmalt sisestatakse kirjed kasutades INSERT päring ja siis saame kasutada SELECT päring, et kontrollida, kas tabel on loodud või mitte.

Loo kirjeid

Pärast tabeli loomist peame looma tabelisse guru_test kirjed, kasutades sisestuspäringut, mis on näidatud allpool:

Siia sisestatud rekordid on:

  • 1 ja guru emp1
  • 2 ja 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 Operavalikud: Lisa, Värskenda, Kustuta, Vali

JSP-d kasutades saame andmebaasiga teha mitu toimingut. Saame kirjeid sisestada ja ka mittevajalikke kirjeid kustutada. Kui mõnda kirjet on vaja redigeerida, saame seda teha värskenduse abil. Toiming Vali aitab tuua vajalikud kirjed.

valima

Kirjete valimiseks tabelist kasutatakse toimingut Select.

Näide:

Selles näites õpime tundma ülaltoodud jaotises loodud tabelist guru_test kirjete toomise toimingut.

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

Koodi selgitus:

Koodirida 1: Siin impordime io, uti ja SQL java raamatukogud.

Koodirida 3: Siia impordime JSTLi põhiteegi ja anname selle eesliide gurucore'iks, mis aitab väljundit saada.

Koodirida 4: Siin impordime jstl-i SQL-i raamatukogu ja anname selle eesliide gurusql-iks, mis aitab SQL-i toiminguid teha.

Koodirida 15–17: Siin, kasutades gurusqli, ühendame andmeallika, nimetades muutuja "guru" ja draiveri JDBC draiveriks. Lisades ka kasutajanime ja parooli sõnadega “gururoot” ja “guru”.

Koodirida 19–21: Siin kasutame valikupäringu SQL-päringut.

Koodirida 31–32: Trükime välja emp id ja emp name väljundi, mis hangitakse päringu tulemustest ning foreach loopi kasutades trükime väljundi.

Kui käivitate ülaltoodud koodi, saame väljundi nagu allpool;

Väljund:

Siin tuuakse mõlemad kirjed andmebaasist

1 guru emp1

2 guru emp2

Sisesta

Operaatorit Insert kasutatakse kirjete sisestamiseks andmebaas.

Näide:

Selles näites käsitleme kirjete lisamist tabelisse 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>

Koodi selgitus:

Koodirida 19–20: Siin sisestame kirjed GuruTestandmebaasi tabelisse guru_test. Sisestatud kirjed on: empID – 3 ja empname – emp emp3. Need kirjed lisatakse tabelisse Koodi käivitamisel lisatakse kirjed tabelisse kui guru_test , väärtusega 3 ja emp emp3.

Märge: Siin me ei näita väljundit, sest me lihtsalt sisestame kirje tabelisse. Saame kirje hankida, kasutades valikupäringut kui 'vali * guru_testist'. Kui kirje oleks siis sisestatud, saaksime väärtuseks 3 ja emp3. Kui kirjet ei sisestata, ei kuvata tabeli kirjetes numbrit 3.

kustutama

See on kustutamisoperatsioon, mille käigus kustutame kirjed tabelist guru_test.

Näide:

Siin kustutame päringu kirje kustutamiseks tabelist guru_test. Kustutatav kirje tuleb seada muutujasse “guruid” ning vastav kirje kustutatakse andmebaasist.

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

Koodi selgitus:

Koodirida 18: Seadistame muutuja guruid, mille väärtus on 3, mis tuleb andmebaasist kustutada. See on alati tabeli esmane võti. Sel juhul on primaarvõti emp_id.

Koodirida 19–22: Siin kasutame kustutamispäringut, mis määrab parameetri kus-klauslis. Siin on parameeter guruid, mis määratakse koodireal 18. Vastav kirje kustutatakse.

Väljund:

Kui käivitate ülaltoodud koodi, kustutatakse kirje, mille emp_id on 3.

Märge: Selles näites ei saa me kirjet tabelist kustutades väljundit näidata. Et kontrollida, kas see kirje on kustutatud, peame kasutama valikupäringut “select * from guru_test”. Sel juhul, kui saame emp id-ks 3, on kustutamispäring ebaõnnestunud, muidu on kirje edukalt kustutatud.

Värskendused

Värskendust kasutatakse tabelis olevate kirjete muutmiseks.

Näide:

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

Koodi selgitus:

Koodirida 18: Siin määrame muutuja guruidiks 2. See on ID, mille puhul soovime kirjet värskendada.

Koodirida 19–22: Siin kasutame värskenduspäringut kirje värskendamiseks kirje tabelis guru_test, mis on määratud punktis 18. Siin asendatakse emp guru2 emp guru99-ga

Väljund:

Kui käivitate ülaltoodud koodi, muudetakse kirje withemp_id 2 väärtuseks 99. Nüüd kuvatakse väljundis emp "guru99" asemel emp"guru2".

kokkuvõte

Selles õpetuses õppisime JSP ühendamist andmebaasiga ja juurdepääsu andmebaasile. Samuti saime teada mitmesugustest andmebaasi tabelis tehtavatest toimingutest nagu loomine, kustutamine, värskendamine jne.