Free tutorials & notes in Hindi & English · Clean code examples 🧰 मुफ़्त PDF और फ़ोटो टूल्स →
📘 Lesson  ·  Lesson 57

JDBC MySQL Connection

JDBC क्या है

JDBC (Java Database Connectivity) Java programs का MySQL जैसे databases से बात करने का standard तरीका है। इससे आप connection खोलते हैं, SQL queries भेजते हैं, और results वापस पढ़ते हैं — सब Java code से। यह Java में database काम की बुनियाद है।

💡 JDBC steps: driver load → connect → query तैयार → execute → results पढ़ो → close।

JDBC steps

  1. अपने project में MySQL JDBC driver जोड़िए।
  2. database URL, user और password के साथ Connection लीजिए।
  3. अपने SQL को PreparedStatement बनाइए।
  4. इसे execute करके ResultSet लीजिए (SELECT को)।
  5. Results loop करके हर column पढ़िए।
  6. Resources close कीजिए।

MySQL से connect

import java.sql.*;

String url = "jdbc:mysql://localhost:3306/school";
String user = "root";
String pass = "password";

Connection con = DriverManager.getConnection(url, user, pass);
System.out.println("Connected!");
Connected!

DriverManager.getConnection database URL, username और password इस्तेमाल करके connection खोलता है। URL MySQL server और database नाम की ओर इशारा करता है।

Query चलाना

String sql = "SELECT name, marks FROM students WHERE marks > ?";
PreparedStatement ps = con.prepareStatement(sql);
ps.setInt(1, 40);              // ? placeholder भरो
ResultSet rs = ps.executeQuery();

PreparedStatement values को ? placeholders इस्तेमाल करता है, जिन्हें आप setInt, setString वग़ैरह से भरते हैं। executeQuery SELECT चलाता है और ResultSet लौटाता है।

Results पढ़ना

while (rs.next()) {
    String name = rs.getString("name");
    int marks = rs.getInt("marks");
    System.out.println(name + ": " + marks);
}
rs.close(); ps.close(); con.close();
Aman: 88
Diya: 92

rows में जाने को rs.next() से loop कीजिए, हर column नाम से पढ़ते हुए। ख़त्म होने पर resources मुक्त करने को हमेशा ResultSet, statement और connection close कीजिए।

SQL injection रोकना

// SAFE: placeholder, input data मानी जाती है
PreparedStatement ps =
    con.prepareStatement("SELECT * FROM users WHERE email = ?");
ps.setString(1, userInput);

// UNSAFE: input जोड़कर SQL कभी मत बनाइए
// "... WHERE email = '" + userInput + "'"

हमेशा ? और setString वाला PreparedStatement इस्तेमाल कीजिए। यह input को data मानता है, कभी SQL नहीं, जो injection attacks रोकता है — PHP और हर language जैसा वही नियम।

आम गलतियाँ

  • String joins से SQL बनाना। सुरक्षित रहने को PreparedStatement placeholders इस्तेमाल कीजिए।
  • Resources close न करना। ResultSet, statement और connection close कीजिए (या try-with-resources इस्तेमाल कीजिए)।
  • Driver छूटना। MySQL JDBC driver classpath पर होना चाहिए।
  • getString में गलत column नाम। यह SELECT column से बिल्कुल मेल खाना चाहिए।

सारांश

  • JDBC Java को MySQL जैसे databases से जोड़ता है।
  • URL, user और password के साथ Connection लीजिए।
  • Queries को ? placeholders वाला PreparedStatement इस्तेमाल कीजिए।
  • SELECT की rows को ResultSet से rs.next() से पढ़िए।
  • हमेशा resources close कीजिए और SQL injection रोकने को placeholders इस्तेमाल कीजिए।

आगे, database tables design कीजिए MySQL data types में, या queries सुरक्षित कीजिए keys और constraints से।

अक्सर पूछे जाने वाले प्रश्न (FAQ)

Java में JDBC क्या है?
JDBC (Java Database Connectivity) Java programs को MySQL जैसे databases से जोड़ने का standard API है। यह आपको connection खोलने, SQL queries चलाने, और results पढ़ने देता है, सब Java code से।
Java को MySQL database से कैसे connect करूँ?
MySQL JDBC driver जोड़िए, फिर jdbc:mysql://localhost:3306/dbname जैसे URL के साथ DriverManager.getConnection(url, user, password) इस्तेमाल कीजिए। यह Connection लौटाता है जिसे आप queries चलाने को इस्तेमाल करते हैं।
PreparedStatement क्या है और क्यों इस्तेमाल करूँ?
PreparedStatement values को placeholders (?) वाला precompiled SQL statement है। यह input को data मानकर, code नहीं, SQL injection रोकता है, और दोहराई queries को तेज़ भी है। Statement के बजाय इसे बेहतर मानिए।
ResultSet क्या है?
ResultSet SELECT query से लौटी rows रखता है। आप इसे while (rs.next()) से loop करते हैं और हर column को rs.getString("name") या rs.getInt("age") जैसी methods से पढ़ते हैं।
JDBC में SQL injection कैसे रोकूँ?
हमेशा ? placeholders वाला PreparedStatement इस्तेमाल कीजिए और values को setString जैसी methods से set कीजिए। user input से strings जोड़कर SQL कभी मत बनाइए, जो injection attacks की अनुमति देता है।
← Back to Java Tutorial
🔗

Share this topic with a friend

यह topic किसी दोस्त को भेजें

Found it useful? Send it to a classmate learning the same thing.

अच्छा लगा? जो दोस्त यही सीख रहा है, उसे भेज दीजिए।

💻 लाइव कोड एडिटर

इस पेज के प्रोग्राम यहीं तैयार हैं — चलाएँ, बदलें और सीखें। कुछ भी इंस्टॉल किए बिना।
OneCompiler द्वारा संचालित। कोड एडिटर में अपने आप आ जाता है — Run दबाकर आउटपुट देखें। अगर एडिटर न खुले तो नए टैब में खोलें.
अगला topicSecond Largest in Array आपकी प्रगति: 57 / 61 (93%) · Lesson 58 / 61 आगे बढ़ें →

यह lesson कैसा लगा?

आपकी राय से हम content और बेहतर बनाते हैं।

अपना review और सुझाव लिखें (वैकल्पिक)

Review approve होने के बाद आपका नाम और शहर इसके साथ public दिख सकते हैं। Email या phone न लिखें।

▶ CodingEasily on YouTube

Video से सीखें – आसान Hindi में

चुनी हुई video: RDBMS भाग 3 – Class XI Commerce IT

▶ Channel subscribe करें