Σύνδεση βάσης δεδομένων JSP

Σύνδεση με βάση δεδομένων στο JSP

Η βάση δεδομένων χρησιμοποιείται για την αποθήκευση διαφόρων τύπων δεδομένων τα οποία είναι τεράστια και έχουν χωρητικότητα αποθήκευσης σε gigabyte. Το JSP μπορεί να συνδεθεί με τέτοιες βάσεις δεδομένων για τη δημιουργία και διαχείριση των εγγραφών.

Σε αυτό το σεμινάριο, θα μάθουμε πώς να δημιουργήσετε έναν πίνακα στη βάση δεδομένων και πώς να δημιουργήσετε εγγραφές σε αυτούς τους πίνακες μέσω του JSP.

Δημιουργία πίνακα

In Βάση δεδομένων MYSQL, μπορούμε να δημιουργήσουμε έναν πίνακα στη βάση δεδομένων με οποιονδήποτε πελάτη MYSQL. Εδώ χρησιμοποιούμε το PHPMyadminclient και εκεί έχουμε την επιλογή "νέο" για να δημιουργήσουμε έναν νέο πίνακα χρησιμοποιώντας το παρακάτω στιγμιότυπο οθόνης.

Δημιουργία πίνακα στη βάση δεδομένων JSP

Σε αυτό, πρέπει να δώσουμε το όνομα του πίνακα ως guru_test και θα δημιουργήσουμε δύο πεδία'emp_id και emp_name.

Emp_idis έχοντας τον τύπο δεδομένων ως ενθ

Το Emp_name έχει τον τύπο δεδομένων ως varchar

Δημιουργία πίνακα στη βάση δεδομένων JSP

Μια άλλη επιλογή είναι η χρήση της γραμμής εντολών και οι αλλαγές στον κατάλογο MYSQL:

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

Μπορούμε να συνδεθούμε στη βάση δεδομένων ως εξής:

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

Δημιουργήστε πίνακα guru_testin στη βάση δεδομένων με το όνομα GuruTestas τα ακόλουθα στη γραμμή εντολών MYSQL:

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)

Πρώτα εισάγονται οι εγγραφές χρησιμοποιώντας INSERT ερώτηση και μετά μπορούμε να χρησιμοποιήσουμε SELECT ερώτημα για να ελέγξετε εάν ο πίνακας έχει δημιουργηθεί ή όχι.

Δημιουργία Εγγραφών

Αφού δημιουργήσουμε έναν πίνακα, πρέπει να δημιουργήσουμε εγγραφές στον πίνακα guru_test χρησιμοποιώντας το ερώτημα εισαγωγής, το οποίο φαίνεται παρακάτω:

Οι εγγραφές που εισάγονται εδώ είναι:

  • 1 και γκουρού emp1
  • 2 και γκουρού 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 Operaθέσεις: Εισαγωγή, Ενημέρωση, Διαγραφή, Επιλογή

Χρησιμοποιώντας JSP, μπορούμε να κάνουμε πολλαπλές λειτουργίες στη βάση δεδομένων. Μπορούμε να εισάγουμε τις εγγραφές, και επίσης, μπορούμε να διαγράψουμε τις εγγραφές που δεν απαιτούνται. Εάν κάποια εγγραφή χρειάζεται επεξεργασία, τότε μπορούμε να το κάνουμε χρησιμοποιώντας μια ενημέρωση. Η λειτουργία Επιλογή θα βοηθήσει στην ανάκτηση των εγγραφών που απαιτούνται.

Αγορά

Η λειτουργία Επιλογή χρησιμοποιείται για την επιλογή των εγγραφών από τον πίνακα.

Παράδειγμα:

Σε αυτό το παράδειγμα, θα μάθουμε για τη λειτουργία επιλογής ανάκτησης εγγραφών από τον πίνακα 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="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>

Επεξήγηση του κώδικα:

Κωδικός Γραμμή 1: Εδώ εισάγουμε io, uti και SQL βιβλιοθήκες της java.

Κωδικός Γραμμή 3: Εδώ εισάγουμε τη βιβλιοθήκη πυρήνα του JSTL και δίνουμε το πρόθεμά της ως gurucore που θα σας βοηθήσει να λάβετε έξοδο.

Κωδικός Γραμμή 4: Εδώ εισάγουμε τη βιβλιοθήκη SQL του jstl και δίνουμε το πρόθεμά της ως gurusql που θα βοηθήσει στην εκτέλεση των λειτουργιών SQL.

Κωδικός Γραμμή 15-17: Εδώ, χρησιμοποιώντας gurusql, συνδέουμε την πηγή δεδομένων ονομάζοντας τη μεταβλητή ως "guru" και το πρόγραμμα οδήγησης ως πρόγραμμα οδήγησης JDBC. Προσθήκη επίσης ονόματος χρήστη και κωδικού πρόσβασης με "gururoot" και "guru".

Κωδικός Γραμμή 19-21: Εδώ χρησιμοποιούμε το ερώτημα SQL του ερωτήματος επιλογής.

Κωδικός Γραμμή 31-32: Εκτυπώνουμε την έξοδο για το emp id και το emp name, τα οποία λαμβάνονται από τα αποτελέσματα του ερωτήματος και χρησιμοποιώντας τον βρόχο foreach εκτυπώνουμε το αποτέλεσμα.

Όταν εκτελέσετε τον παραπάνω κώδικα, θα λάβουμε την έξοδο όπως παρακάτω.

Παραγωγή:

Εδώ θα ληφθούν και οι δύο εγγραφές από τη βάση δεδομένων

1 γκουρού emp1

2 γκουρού emp2

Κύριο θέμα

Ο τελεστής εισαγωγής χρησιμοποιείται για την εισαγωγή των εγγραφών στο βάσεις δεδομένων.

Παράδειγμα:

Σε αυτό το παράδειγμα, θα μάθουμε για την εισαγωγή των εγγραφών στον πίνακα 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>

Επεξήγηση του κώδικα:

Κωδικός Γραμμή 19-20: Εδώ εισάγουμε εγγραφές στον πίνακα guru_test της βάσης δεδομένων GuruTest. Οι εγγραφές που εισάγονται είναι: empID – 3 και empname – emp emp3. Αυτές οι εγγραφές θα εισαχθούν στον πίνακα Όταν εκτελείτε τον κώδικα, οι εγγραφές εισάγονται στον πίνακα ως guru_test ,με τιμή 3 και emp emp3.

Σημείωση: Εδώ δεν εμφανίζουμε την έξοδο, καθώς απλώς εισάγουμε την εγγραφή στον πίνακα. Μπορούμε να λάβουμε την εγγραφή χρησιμοποιώντας το ερώτημα επιλογής ως 'επιλογή * από το guru_test'. Εάν η εγγραφή είχε εισαχθεί τότε, θα λάβαμε την τιμή ως 3 και emp3. Εάν η εγγραφή δεν εισαχθεί τότε, το 3 δεν θα εμφανίζεται στις εγγραφές του πίνακα.

Διαγραφή

Αυτή είναι η λειτουργία διαγραφής όπου διαγράφουμε τις εγγραφές από τον πίνακα guru_test.

Παράδειγμα:

Εδώ θα διαγράψουμε το ερώτημα για να διαγράψουμε την εγγραφή από τον πίνακα guru_test. Η εγγραφή που πρέπει να διαγραφεί πρέπει να οριστεί στη μεταβλητή "guruid" και η αντίστοιχη εγγραφή διαγράφεται από τη βάση δεδομένων.

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

Επεξήγηση του κώδικα:

Κωδικός Γραμμή 18: Ορίζουμε μια μεταβλητή guruid της οποίας η τιμή είναι 3, η οποία πρέπει να διαγραφεί από τη βάση δεδομένων. Αυτό είναι πάντα ένα πρωτεύον κλειδί του πίνακα. Σε αυτήν την περίπτωση, το πρωτεύον κλειδί είναι το emp_id.

Κωδικός Γραμμή 19-22: Εδώ χρησιμοποιούμε ένα ερώτημα διαγραφής που ορίζει μια παράμετρο στον όρο όπου. Εδώ η παράμετρος είναι guruid που ορίζεται στη γραμμή κώδικα 18. Η αντίστοιχη εγγραφή διαγράφεται.

Παραγωγή:

Όταν εκτελείτε τον παραπάνω κώδικα, η εγγραφή με emp_id ως 3 διαγράφεται.

Σημείωση: Σε αυτό το παράδειγμα, δεν μπορούμε να εμφανίσουμε την έξοδο καθώς διαγράφουμε την εγγραφή από τον πίνακα. Για να ελέγξουμε αν αυτή η εγγραφή έχει διαγραφεί, πρέπει να χρησιμοποιήσουμε το ερώτημα επιλογής "επιλογή * από το guru_test". Σε αυτήν την περίπτωση, εάν λάβουμε 3 ως αναγνωριστικό emp, τότε το ερώτημα διαγραφής απέτυχε, διαφορετικά η εγγραφή έχει διαγραφεί με επιτυχία.

Ενημέρωση

Η ενημέρωση χρησιμοποιείται για την επεξεργασία των εγγραφών στον πίνακα.

Παράδειγμα:

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

Επεξήγηση του κώδικα:

Κωδικός Γραμμή 18: Εδώ ορίζουμε μια μεταβλητή guruid ως 2. Αυτό είναι το αναγνωριστικό όπου θέλουμε να ενημερώσουμε την εγγραφή.

Κωδικός Γραμμή 19-22: Εδώ χρησιμοποιούμε ένα ερώτημα ενημέρωσης για να ενημερώσουμε την εγγραφή στον πίνακα guru_test της εγγραφής, που ορίζεται στο σημείο 18. Εδώ το emp guru2 αντικαθίσταται από το emp guru99

Παραγωγή:

Όταν εκτελείτε τον παραπάνω κώδικα, η εγγραφή withemp_id 2 αλλάζει σε 99. Έτσι, τώρα η έξοδος θα δείχνει emp”guru99″ αντί για emp “guru2”.

Σύνοψη

Σε αυτό το σεμινάριο, μάθαμε για τη σύνδεση του JSP με τη βάση δεδομένων και την πρόσβαση στη βάση δεδομένων. Επίσης, μάθαμε για διάφορες λειτουργίες που εκτελούνται στον πίνακα στη βάση δεδομένων, όπως δημιουργία, διαγραφή, ενημέρωση κ.λπ.