JSP-databaseverbinding

Verbinding maken met database in JSP

De database wordt gebruikt voor het opslaan van verschillende soorten gegevens die enorm zijn en een opslagcapaciteit hebben van gigabytes. JSP kan verbinding maken met dergelijke databases om de records aan te maken en te beheren.

In deze zelfstudie leren we hoe u een tabel in de database kunt maken en hoe u via JSP records in deze tabellen kunt maken.

Tabel maken

In MYSQL-database, we kunnen een tabel in de database maken met elke MYSQL-client. Hier gebruiken we PHPMyadminclient, en daar hebben we een optie "new" om een ​​nieuwe tabel te maken met behulp van onderstaande schermafbeelding.

Tabel maken in JSP-database

Hierin moeten we de tabelnaam opgeven als guru_test, en we zullen twee velden 'emp_id en emp_name' maken.

Emp_idis heeft een datatype als int

Emp_name heeft een datatype als varchar

Tabel maken in JSP-database

Een andere optie is om de opdrachtprompt te gebruiken en wijzigingen aan te brengen in de MYSQL-directory:

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

We kunnen als volgt inloggen op de database:

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

Maak tabel guru_test in de database met de naam GuruTestas en voer het volgende uit op de MYSQL-prompt:

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)

Eerst worden de records ingevoegd met behulp van INSERT vraag en dan kunnen we gebruiken SELECT query om te controleren of de tabel is gemaakt of niet.

Records maken

Nadat we een tabel hebben gemaakt, moeten we records in de guru_test-tabel maken met behulp van de invoegquery, die hieronder wordt weergegeven:

De hier ingevoerde records zijn:

  • 1 en goeroe emp1
  • 2 en goeroe 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 Operafuncties: Invoegen, Bijwerken, Verwijderen, Selecteren

Met JSP kunnen we meerdere bewerkingen in de database uitvoeren. We kunnen de records invoegen en ook de records verwijderen die niet nodig zijn. Als een record bewerkt moet worden, kunnen we dat doen met een update. De Select-bewerking helpt bij het ophalen van de records die nodig zijn.

kies

Met de Select-bewerking selecteert u de records uit de tabel.

Voorbeeld:

In dit voorbeeld gaan we de select-bewerking leren voor het ophalen van records uit de tabel guru_test die in de bovenstaande sectie is gemaakt.

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

Uitleg van de code:

Coderegel 1: Hier importeren we io, uti en SQL bibliotheken van Java.

Coderegel 3: Hier importeren we de kernbibliotheek van JSTL en geven we het voorvoegsel gurucore, wat zal helpen om uitvoer te krijgen.

Coderegel 4: Hier importeren we de SQL-bibliotheek van jstl en geven we het voorvoegsel gurusql mee. Dit helpt bij het uitvoeren van SQL-bewerkingen.

Coderegel 15-17: Hier gebruiken we gurusql om de gegevensbron te verbinden door de variabele "guru" en het stuurprogramma een JDBC-stuurprogramma te noemen. Voeg ook gebruikersnaam en wachtwoord toe met “gururoot” en “guru”.

Coderegel 19-21: Hier gebruiken we de SQL-query van de selectiequery.

Coderegel 31-32: We drukken de uitvoer af voor emp id en emp name, die worden opgehaald uit de resultaten van de query en met behulp van foreach-lus drukken we de uitvoer af.

Wanneer u de bovenstaande code uitvoert, krijgen we de onderstaande uitvoer;

Output:

Hier worden beide records uit de database opgehaald

1 goeroe emp1

2 goeroe emp2

Invoegen

De invoegoperator wordt gebruikt om de records in de databank.

Voorbeeld:

In dit voorbeeld gaan we leren over het invoegen van de records in de tabel 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>

Uitleg van de code:

Coderegel 19-20: Hier voegen we records toe aan de tabel guru_test van GuruTestdatabase. De ingevoegde records zijn: empID – 3 en empname – emp emp3. Deze records worden ingevoegd in de tabel. Wanneer u de code uitvoert, worden de records ingevoegd in de tabel als guru_test, met waarde 3 en emp emp3.

Opmerking: Hier tonen we de output niet, omdat we alleen de record in de tabel invoegen. We kunnen de record ophalen met behulp van select query als 'select * from guru_test'. Als de record toen werd ingevoegd, zouden we de waarde krijgen als 3 en emp3. Als de record toen niet werd ingevoegd, zal 3 niet worden gezien in records in de tabel.

Verwijder

Dit is een verwijderbewerking waarbij we de records uit de tabel guru_test verwijderen.

Voorbeeld:

Hier zullen we de query verwijderen om het record uit de tabel guru_test te verwijderen. Het record dat moet worden verwijderd, moet worden ingesteld in de variabele “guruid”, en het bijbehorende record wordt uit de database verwijderd.

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

Uitleg van de code:

Coderegel 18: We stellen een variabele goruid in waarvan de waarde 3 is, die uit de database moet worden verwijderd. Dit is altijd een primaire sleutel van de tabel. In dit geval is de primaire sleutel emp_id.

Coderegel 19-22: Hier gebruiken we een verwijderquery die een parameter instelt in de where-clausule. Hier is de parameter guruid die is ingesteld in coderegel 18. De bijbehorende record wordt verwijderd.

Output:

Wanneer u de bovenstaande code uitvoert, wordt het record met emp_id als 3 verwijderd.

Opmerking: In dit voorbeeld kunnen we de uitvoer niet weergeven omdat we de record uit de tabel verwijderen. Om te controleren of die record is verwijderd, moeten we de select query "select * from guru_test" gebruiken. In dat geval, als we 3 als emp id krijgen, is de delete query mislukt, anders is de record succesvol verwijderd.

bijwerken

De update wordt gebruikt om de records in de tabel te bewerken.

Voorbeeld:

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

Uitleg van de code:

Coderegel 18: Hier stellen we een variabele guruid in als 2. Dit is de ID waar we het record willen bijwerken.

Coderegel 19-22: Hier gebruiken we een updatequery om het record in de tabel guru_test van het record bij te werken, dat is ingesteld in punt 18. Hier wordt emp guru2 vervangen door emp guru99

Output:

Wanneer u de bovenstaande code uitvoert, wordt het record met emp_id 2 gewijzigd naar 99. De uitvoer zal nu emp”guru99″ weergeven in plaats van emp “guru2”.

Samenvatting

In deze tutorial leerden we over het verbinden van JSP met database en databasetoegang. Ook leerden we over verschillende bewerkingen die op de tabel in de database worden uitgevoerd, zoals maken, verwijderen, bijwerken, etc.