JSP-databasetilkobling

Kobler til database i JSP

Databasen brukes til å lagre ulike typer data som er enorme og har lagringskapasitet i gigabyte. JSP kan koble til slike databaser for å opprette og administrere postene.

I denne opplæringen vil vi lære om hvordan du oppretter en tabell i databasen, og hvordan du oppretter poster i disse tabellene gjennom JSP.

Lag tabell

In MYSQL database, kan vi lage en tabell i databasen med en hvilken som helst MYSQL-klient. Her bruker vi PHPMyadminclient, og der har vi et alternativ "ny" for å lage en ny tabell ved å bruke skjermbildet nedenfor.

Opprett tabell i JSP-databasen

I dette må vi oppgi tabellnavn som guru_test, og vi vil lage to felts'emp_id og emp_name.

Emp_idis har datatype som int

Emp_name har datatype som varchar

Opprett tabell i JSP-databasen

Et annet alternativ er å bruke ledeteksten og endringer i MYSQL-katalogen:

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

Vi kan logge inn i databasen som følger:

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

Opprett tabell guru_testin databasen kalt GuruTestas følgende på MYSQL-ledeteksten:

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)

Først settes postene inn vha INSERT spørring og så kan vi bruke SELECT spørring for å sjekke om tabellen er opprettet eller ikke.

Opprett poster

Etter å ha opprettet en tabell, må vi opprette poster i guru_test-tabellen ved å bruke insert-spørring, som er vist nedenfor:

Postene som er lagt inn her er:

  • 1 og guru emp1
  • 2 og 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 Operasjoner: Sett inn, Oppdater, Slett, Velg

Ved å bruke JSP kan vi gjøre flere operasjoner inn i databasen. Vi kan sette inn postene, og vi kan også slette postene som ikke er nødvendige. Hvis noen post må redigeres, kan vi gjøre det ved å bruke en oppdatering. Velg-operasjonen vil hjelpe til med å hente postene som kreves.

Velg

Velg-operasjonen brukes til å velge postene fra tabellen.

Eksempel:

I dette eksemplet skal vi lære om valgoperasjonen for å hente poster fra guru_test-tabellen som ble opprettet i delen ovenfor.

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

Forklaring av koden:

Kodelinje 1: Her importerer vi io, uti og SQL biblioteker i java.

Kodelinje 3: Her importerer vi kjernebiblioteket til JSTL og gir prefikset som gurucore som vil bidra til å få utdata.

Kodelinje 4: Her importerer vi SQL-biblioteket til jstl og gir prefikset som gurusql som vil hjelpe til med å utføre SQL-operasjonene.

Kodelinje 15-17: Her ved å bruke gurusql kobler vi sammen datakilde ved å navngi variabel som "guru" og driver som en JDBC-driver. Legger også til brukernavn og passord med "gururoot" og "guru".

Kodelinje 19-21: Her bruker vi SQL-spørring av utvalgsspørringen.

Kodelinje 31-32: Vi skriver ut utdataene for emp id og emp name, som hentes fra resultatene av spørringen og ved å bruke foreach loop skriver vi ut utdataene.

Når du utfører koden ovenfor, vil vi få utdata som nedenfor;

Utgang:

Her vil begge postene bli hentet fra databasen

1 guru emp1

2 guru emp2

innfelt

Insert operator brukes til å sette inn postene i database.

Eksempel:

I dette eksemplet skal vi lære om å sette inn postene i tabellen 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>

Forklaring av koden:

Kodelinje 19-20: Her setter vi inn poster i tabellen guru_test i GuruTestdatabase. Postene som er satt inn er: empID – 3 og empname – emp emp3. Disse postene vil bli satt inn i tabellen Når du kjører koden, blir postene satt inn i tabellen som guru_test , med verdi 3 og emp emp3.

OBS: Her viser vi ikke utdata, da vi bare setter inn posten i tabellen. Vi kan få posten ved å bruke select-query som 'select * from guru_test'. Hvis posten ble satt inn da, ville vi fått verdien som 3 og emp3. Hvis posten ikke er satt inn da, vil ikke 3 vises i poster i tabellen.

Delete

Dette er sletteoperasjon der vi sletter postene fra tabellen guru_test.

Eksempel:

Her vil vi slette spørringen for å slette posten fra tabellen guru_test. Posten som skal slettes må settes i variabel "guruid", og den tilsvarende posten slettes fra databasen.

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

Forklaring av koden:

Kodelinje 18: Vi setter en variabel guruid hvis verdi er 3, som må slettes fra databasen. Dette er alltid en primærnøkkel i tabellen. I dette tilfellet er primærnøkkelen emp_id.

Kodelinje 19-22: Her bruker vi en slettespørring som setter en parameter i where-leddet. Her er parameteren guruid som settes i kodelinje 18. Den tilsvarende posten slettes.

Utgang:

Når du utfører koden ovenfor, slettes posten med emp_id som 3.

OBS: I dette eksemplet kan vi ikke vise utdataene da vi sletter posten fra tabellen. For å sjekke om posten er slettet, må vi bruke utvalgsspørringen "select * from guru_test". I så fall, hvis vi får 3 som emp id, har slettespørringen mislyktes, ellers har posten blitt slettet.

Oppdater

Oppdateringen brukes til å redigere postene i tabellen.

Eksempel:

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

Forklaring av koden:

Kodelinje 18: Her setter vi en variabel guruid som 2. Dette er IDen der vi ønsker å oppdatere posten.

Kodelinje 19-22: Her bruker vi en oppdateringsforespørsel for å oppdatere posten i tabellen guru_test for posten, som er satt i punkt 18. Her er emp guru2 erstattet av emp guru99

Utgang:

Når du kjører koden ovenfor endres posten med emp_id 2 til 99. Så nå vil utdataene vise emp”guru99″ i stedet for emp “guru2”.

Sammendrag

I denne opplæringen lærte vi om å koble JSP til database og databasetilgang. Vi lærte også om ulike operasjoner som utføres på tabellen i databasen, som å opprette, slette, oppdatere, etc.