การเชื่อมต่อฐานข้อมูล JSP

การเชื่อมต่อกับฐานข้อมูลใน JSP

ฐานข้อมูลใช้สำหรับจัดเก็บข้อมูลประเภทต่างๆ ที่มีขนาดใหญ่และมีความจุเป็นกิกะไบต์ JSP สามารถเชื่อมต่อกับฐานข้อมูลดังกล่าวเพื่อสร้างและจัดการบันทึก

ในบทช่วยสอนนี้ เราจะเรียนรู้เกี่ยวกับวิธีการสร้างตารางในฐานข้อมูล และวิธีการสร้างเรคคอร์ดในตารางเหล่านี้ผ่าน JSP

สร้างตาราง

In ฐานข้อมูล MySQLเราสามารถสร้างตารางในฐานข้อมูลโดยใช้ไคลเอนต์ MYSQL ได้ ที่นี่เราใช้ PHPMyadminclient และมีตัวเลือก "ใหม่" เพื่อสร้างตารางใหม่โดยใช้ภาพหน้าจอด้านล่าง

สร้างตารางในฐานข้อมูล JSP

ในนี้ เราต้องระบุชื่อตารางเป็น guru_test และเราจะสร้างสอง field'emp_id และ emp_name

Emp_idis มีประเภทข้อมูลเป็น int

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_test ในฐานข้อมูลชื่อ GuruTest ตามข้อความแจ้ง 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 Operations: แทรก, อัพเดต, ลบ, เลือก

การใช้ JSP ช่วยให้เราดำเนินการต่างๆ ในฐานข้อมูลได้หลายอย่าง เช่น เพิ่มระเบียน และลบระเบียนที่ไม่จำเป็นได้ หากจำเป็นต้องแก้ไขระเบียนใด ก็สามารถอัปเดตได้ การดำเนินการ Select จะช่วยดึงระเบียนที่จำเป็นออกมา

เลือก

การดำเนินการเลือกใช้เพื่อเลือกระเบียนจากตาราง

ตัวอย่าง:

ในตัวอย่างนี้ เราจะเรียนรู้เกี่ยวกับการดำเนินการเลือกของการดึงข้อมูลจากตาราง 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 ไลบรารี่ของจาวา

รหัสบรรทัด 3: ที่นี่เรากำลังนำเข้าไลบรารีหลักของ JSTL และให้คำนำหน้าเป็น gurucore ซึ่งจะช่วยให้ได้ผลลัพธ์

รหัสบรรทัด 4: เรากำลังนำเข้าไลบรารี SQL ของ jstl และใส่คำนำหน้าเป็น gurusql ซึ่งจะช่วยในการดำเนินการ SQL

รหัสบรรทัด 15-17: เมื่อใช้ gurusql เรากำลังเชื่อมต่อแหล่งข้อมูลโดยตั้งชื่อตัวแปรเป็น “guru” และไดรเวอร์เป็นไดรเวอร์ JDBC เพิ่มชื่อผู้ใช้และรหัสผ่านด้วย "gururoot" และ "guru"

รหัสบรรทัด 19-21: ที่นี่เราใช้แบบสอบถาม SQL ของแบบสอบถามแบบใช้เลือกข้อมูล

รหัสบรรทัด 31-32: เรากำลังพิมพ์เอาต์พุตสำหรับ emp id และชื่อ emp ซึ่งดึงมาจากผลลัพธ์ของการสืบค้น และใช้ foreach loop ที่เราพิมพ์เอาต์พุต

เมื่อคุณรันโค้ดข้างต้น เราจะได้ผลลัพธ์ดังนี้

Output:

ที่นี่ทั้งบันทึกจะถูกดึงมาจากฐานข้อมูล

1 กูรู em1

2 กูรู em2

สิ่งที่ใส่เข้าไป

ตัวดำเนินการแทรกใช้เพื่อแทรกระเบียนลงใน ฐานข้อมูล.

ตัวอย่าง:

ในตัวอย่างนี้ เราจะเรียนรู้เกี่ยวกับการแทรกระเบียนในตาราง 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 ของ GuruTestdatabase ระเบียนที่แทรกคือ: empID – 3 และ empname – emp emp3 ระเบียนเหล่านี้จะถูกแทรกลงในตาราง เมื่อคุณรันโค้ด ระเบียนจะถูกแทรกลงในตารางเป็น guru_test โดยมีค่าเป็น 3 และ emp emp3

หมายเหตุ ที่นี่เราไม่ได้แสดงผลลัพธ์เนื่องจากเราเพียงแค่แทรกระเบียนลงในตาราง เราสามารถรับระเบียนได้โดยใช้คำสั่ง select query โดยเป็น 'select * from 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: ที่นี่เราใช้คำสั่ง delete ซึ่งกำหนดพารามิเตอร์ในคำสั่ง where พารามิเตอร์นี้คือ guruid ซึ่งกำหนดไว้ในโค้ดบรรทัดที่ 18 บันทึกที่เกี่ยวข้องจะถูกลบ

Output:

เมื่อคุณรันโค้ดด้านบน บันทึกที่มี emp_id เป็น 3 จะถูกลบ

หมายเหตุ ในตัวอย่างนี้ เราไม่สามารถแสดงผลลัพธ์ได้เนื่องจากเรากำลังลบระเบียนออกจากตาราง หากต้องการตรวจสอบว่าระเบียนนั้นถูกลบหรือไม่ เราจำเป็นต้องใช้คิวรีแบบเลือก "select * from 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 นี่คือ ID ที่เราต้องการอัปเดตบันทึก

รหัสบรรทัด 19-22: ที่นี่เราใช้แบบสอบถามแบบอัปเดตเพื่ออัปเดตบันทึกในตาราง guru_test ของบันทึกซึ่งตั้งค่าไว้ในจุดที่ 18 ที่นี่ emp guru2 ถูกแทนที่ด้วย emp guru99

Output:

เมื่อคุณรันโค้ดด้านบน บันทึก withemp_id 2 จะถูกเปลี่ยนเป็น 99 ดังนั้นตอนนี้ผลลัพธ์จะแสดงเป็น emp”guru99″ แทนที่จะเป็น emp “guru2”

สรุป

ในบทช่วยสอนนี้ เราได้เรียนรู้เกี่ยวกับการเชื่อมต่อ JSP กับฐานข้อมูลและการเข้าถึงฐานข้อมูล นอกจากนี้ เรายังได้เรียนรู้เกี่ยวกับการดำเนินการต่างๆ ที่ดำเนินการกับตารางในฐานข้อมูล เช่น การสร้าง การลบ การอัปเดต เป็นต้น

จดหมายข่าว Guru99 รายวัน

เริ่มต้นวันใหม่ของคุณด้วยข่าวสาร AI ล่าสุดและสำคัญที่สุดที่ส่งมอบทันที