JSP डेटाबेस कनेक्शन
JSP में डेटाबेस से कनेक्ट करना
डेटाबेस का उपयोग विभिन्न प्रकार के डेटा को संग्रहीत करने के लिए किया जाता है जो बहुत बड़े होते हैं और जिनकी भंडारण क्षमता गीगाबाइट में होती है। JSP रिकॉर्ड बनाने और प्रबंधित करने के लिए ऐसे डेटाबेस से जुड़ सकता है।
इस ट्यूटोरियल में, हम सीखेंगे कि डेटाबेस में टेबल कैसे बनाएं, और JSP के माध्यम से इन टेबलों में रिकॉर्ड कैसे बनाएं।
तालिका बनाएं
In MySQL डेटाबेस, हम किसी भी MYSQL क्लाइंट के साथ डेटाबेस में एक टेबल बना सकते हैं। यहाँ हम PHPMyadminclient का उपयोग कर रहे हैं, और वहाँ हमारे पास नीचे दिए गए स्क्रीनशॉट का उपयोग करके एक नई टेबल बनाने के लिए एक विकल्प “new” है।
इसमें हमें टेबल का नाम guru_test के रूप में देना है, तथा हम दो फील्ड 'emp_id और emp_name' बनाएंगे।
Emp_idis का डेटा प्रकार int है
Emp_name का डेटाटाइप varchar है
दूसरा विकल्प कमांड प्रॉम्प्ट का उपयोग करके 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>
MYSQL प्रॉम्प्ट पर निम्नलिखित अनुसार GuruTestas नामक डेटाबेस में guru_test तालिका बनाएं:
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 और आयात कर रहे हैं एसक्यूएल जावा के पुस्तकालय.
कोड लाइन 3: यहां हम JSTL की कोर लाइब्रेरी को आयात कर रहे हैं और इसका उपसर्ग gurucore दे रहे हैं जो आउटपुट प्राप्त करने में मदद करेगा।
कोड लाइन 4: यहां हम jstl की SQL लाइब्रेरी को आयात कर रहे हैं और इसका उपसर्ग gurusql दे रहे हैं जो SQL संचालन करने में मदद करेगा।
कोड लाइन 15-17: यहाँ गुरुएसक्यूएल का उपयोग करते हुए, हम वेरिएबल को "गुरु" और ड्राइवर को JDBC ड्राइवर नाम देकर डेटा स्रोत को जोड़ रहे हैं। साथ ही "गुरुरूट" और "गुरु" के साथ उपयोगकर्ता नाम और पासवर्ड भी जोड़ रहे हैं।
कोड लाइन 19-21: यहां हम चयन क्वेरी की SQL क्वेरी का उपयोग कर रहे हैं।
कोड लाइन 31-32: हम emp id और emp नाम के लिए आउटपुट प्रिंट कर रहे हैं, जो क्वेरी के परिणामों से प्राप्त किए गए हैं और 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: यहाँ हम गुरुटेस्टडेटाबेस की टेबल गुरु_टेस्ट में रिकॉर्ड डाल रहे हैं। डाले गए रिकॉर्ड हैं: empID – 3 और empname – emp emp3. जब आप कोड निष्पादित करते हैं, तो ये रिकॉर्ड टेबल में गुरु_टेस्ट के रूप में डाले जाते हैं, जिसका मान 3 और emp emp3 होता है।
नोट: यहाँ हम आउटपुट नहीं दिखा रहे हैं क्योंकि हम केवल तालिका में रिकॉर्ड डाल रहे हैं। हम '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: हम एक वैरिएबल गुरुआईडी सेट कर रहे हैं जिसका मान 3 है, जिसे डेटाबेस से हटाना होगा। यह हमेशा टेबल की प्राथमिक कुंजी होती है। इस मामले में, प्राथमिक कुंजी emp_id है।
कोड लाइन 19-22: यहाँ हम डिलीट क्वेरी का उपयोग कर रहे हैं जो where क्लॉज़ में एक पैरामीटर सेट कर रहा है। यहाँ पैरामीटर guruid है जो कोड लाइन 18 में सेट है। संबंधित रिकॉर्ड हटा दिया गया है।
आउटपुट:
जब आप उपरोक्त कोड निष्पादित करते हैं, तो emp_id 3 वाला रिकॉर्ड हटा दिया जाता है।
नोट: इस उदाहरण में, हम आउटपुट नहीं दिखा सकते क्योंकि हम टेबल से रिकॉर्ड हटा रहे हैं। यह जाँचने के लिए कि क्या वह रिकॉर्ड हटा दिया गया है, हमें सेलेक्ट क्वेरी “select * from guru_test” का उपयोग करना होगा। उस स्थिति में, यदि हमें emp id के रूप में 3 मिलता है तो डिलीट क्वेरी विफल हो गई है अन्यथा रिकॉर्ड सफलतापूर्वक हटा दिया गया है।
अपडेट
अद्यतन का उपयोग तालिका में रिकॉर्ड को संपादित करने के लिए किया जाता है।
उदाहरण:
<%@ 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 द्वारा प्रतिस्थापित किया गया है
आउटपुट:
जब आप उपरोक्त कोड निष्पादित करते हैं तो emp_id 2 वाला रिकॉर्ड 99 में बदल जाता है। इसलिए, अब आउटपुट emp “guru99” के बजाय emp “guru2″ दिखाएगा।
सारांश
इस ट्यूटोरियल में, हमने JSP को डेटाबेस से कनेक्ट करने और डेटाबेस एक्सेस के बारे में सीखा। साथ ही, हमने डेटाबेस में टेबल पर किए जाने वाले विभिन्न ऑपरेशन जैसे क्रिएट, डिलीट, अपडेट आदि के बारे में भी सीखा।