JSP-databaseverbinding
⚡ Slimme samenvatting
Met een JSP-databaseverbinding kan een webapplicatie grote hoeveelheden data opslaan en beheren door JSP-pagina's te koppelen aan een relationele database. Deze handleiding legt uit hoe u een dergelijke verbinding tot stand brengt. MySQL Tabellen bewerken, records invoegen en Select-, Insert-, Update- en Delete-bewerkingen uitvoeren met behulp van JSTL SQL-tags.
Verbinding maken met database in JSP
De database wordt gebruikt voor het opslaan van diverse soorten gegevens, die vaak enorme hoeveelheden data bevatten met een opslagcapaciteit van gigabytes. JSP kan verbinding maken met dergelijke databases om 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-databaseWe kunnen met elke MySQL-client een tabel in de database aanmaken. In dit voorbeeld gebruiken we PHPMyAdmin, waar we de optie "nieuw" hebben om een nieuwe tabel aan te maken, zoals te zien is in de onderstaande schermafbeelding.
Hiervoor moeten we de tabelnaam guru_test opgeven en twee velden aanmaken: emp_id en emp_name.
- Emp_id heeft het gegevenstype int.
- Emp_name heeft het gegevenstype varchar.
Een andere optie is om de opdrachtprompt te gebruiken en naar de MySQL-directory te gaan:
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 de tabel guru_test aan in de database met de naam GuruTest het volgende in de MySQL-prompt:
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)
Eerst worden de records ingevoegd met behulp van de INSERT de query, en dan kunnen we de SELECT query om te controleren of de tabel is gemaakt of niet.
Records maken
Nadat we een tabel hebben aangemaakt, moeten we records toevoegen aan de tabel guru_test met behulp van de onderstaande INSERT-query:
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 verschillende bewerkingen op de database uitvoeren. We kunnen records invoegen en ook records verwijderen die niet meer nodig zijn. Als een record bewerkt moet worden, kunnen we dat doen met een UPDATE-bewerking. De SELECT-bewerking helpt ons om de gewenste records op te halen.
Selecteren
Met de Select-bewerking selecteert u de records uit de tabel.
Voorbeeld:
In dit voorbeeld gaan we leren hoe we met de select-bewerking records kunnen ophalen uit de tabel guru_test, die in het vorige gedeelte is aangemaakt.
<%@ 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:
Code Regel 1: Hier importeren we io, util en SQL bibliotheken van Java.
Code Regel 3: Hier importeren we de kernbibliotheek van JSTL en geven we deze het voorvoegsel 'c', wat zal helpen om de uitvoer te verkrijgen.
Code Regel 4: Hier importeren we de SQL-bibliotheek van JSTL en geven we deze het voorvoegsel 'sql', wat het uitvoeren van SQL-bewerkingen vergemakkelijkt.
Code Lijn 15-17: Hier maken we met behulp van SQL verbinding met de gegevensbron door de variabele de naam "snapshot" te geven en de driver als JDBC-driver te gebruiken. We voegen ook de gebruikersnaam en het wachtwoord toe als "gururoot" en "guru".
Code Lijn 19-21: Hier gebruiken we de SQL-query van de select-query.
Code Lijn 31-32: We printen de uitvoer voor emp id en emp name, die worden opgehaald uit de resultaten van de query, en gebruiken een foreach-lus om de uitvoer af te drukken.
Wanneer je de bovenstaande code uitvoert, krijg je de volgende uitvoer:
Output:
Hier worden beide gegevens uit de database opgehaald:
- 1 goeroe emp1
- 2 goeroe emp2
Invoegen
De Insert-operator wordt gebruikt om de records in te voegen. databank.
Voorbeeld:
In dit voorbeeld gaan we leren hoe we records in de tabel guru_test kunnen invoegen.
<%@ 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:
Code Lijn 19-20: Hier voegen we records in de tabel guru_test in. GuruTestdatabase. De ingevoegde records zijn: empID – 3 en empname – emp emp3Deze records worden in de tabel ingevoegd. Wanneer je de code uitvoert, worden de records ingevoegd in de tabel guru_test, met waarde 3 en emp e.mp3.
Let op: Hier tonen we de uitvoer niet, omdat we alleen de record in de tabel invoegen. We kunnen de record ophalen met de select-query 'select * from guru_test'. Als de record is ingevoegd, krijgen we de waarde 3 en e.mp3Als de record niet wordt ingevoegd, zal 3 niet in de records in de tabel te zien zijn.
Verwijdering
Dit is de verwijderingsbewerking waarmee we de records uit de tabel guru_test verwijderen.
Voorbeeld:
Hier gebruiken we de DELETE-query om het record uit de tabel guru_test te verwijderen. Het record dat verwijderd moet worden, moet worden ingesteld in de variabele "guruid", waarna het corresponderende record uit de database wordt 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:
Code Regel 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.
Code Lijn 19-22: Hier gebruiken we een DELETE-query die een parameter in de WHERE-clausule instelt. In dit geval is de parameter 'guruid', die wordt ingesteld op regel 18 van de code. Het bijbehorende record wordt verwijderd.
Output:
Wanneer u de bovenstaande code uitvoert, wordt het record met emp_id als 3 verwijderd.
Let op: In dit voorbeeld kunnen we de uitvoer niet weergeven, omdat we de record uit de tabel verwijderen. Om te controleren of de record daadwerkelijk is verwijderd, moeten we de select-query "select * from guru_test" gebruiken. Als we in dat geval 3 als emp id krijgen, is de verwijderingsquery 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:
Code Regel 18: Hier stellen we een variabele guruid in als 2. Dit is de ID waar we het record willen bijwerken.
Code Lijn 19-22: Hier gebruiken we een updatequery om de record in de tabel guru_test bij te werken, die is ingesteld in punt 18. Hierbij wordt emp guru2 vervangen door emp guru99.
Output:
Wanneer je de bovenstaande code uitvoert, wordt het record met emp_id 2 gewijzigd in 99. De uitvoer zal nu dus emp “guru99” weergeven in plaats van emp “guru2”.



