आपके returnAllParts#queryReturnAllParts . में विधि, बदलें
con.getDBConnection();
द्वारा
con = getDBConnection();
समस्या यह है कि con java.sql.Connection . से एक चर है और इसमें getDBConnection नहीं है तरीका। चूंकि आपका वर्तमान returnAllParts वर्ग DBConnect का विस्तार करता है वर्ग, यह public Connection getDBConnection तक पहुंच सकता है बिना किसी समस्या के विधि।
ऐसा इसलिए है क्योंकि आपके Main#main . में वर्ग, आपने घोषित किया है DBConnect con . इस चर को con . के साथ भ्रमित न करें अन्य तरीकों से घोषित चर।
सीधे तौर पर समस्या से संबंधित नहीं है, लेकिन मेरा सुझाव है कि आप अपने वर्तमान कोड/डिज़ाइन में कुछ सुधार करें:
- अपने
returnAllPartsका नाम बदलें भविष्य के पाठकों के लिए कुछ और सार्थक के लिए कक्षा (यहां तक कि आप कुछ दिनों या हफ्तों में अपने कोड के भविष्य के पाठक बन जाएंगे)। आपके कोड को पढ़ने से, ऐसा लगता है कि इस वर्ग का नाम बदलकरPartListकर दिया जाना चाहिए । - अपने कनेक्शन मैन्युअल रूप से प्राप्त करने के बजाय डेटाबेस कनेक्शन पूल का उपयोग करें। ऐसे पुस्तकालय हैं जो इसे आपके लिए संभालते हैं जैसे BoneCP
- शायद आप प्रोग्रामिंग में नए हैं, इसलिए बेहतर होगा कि आप सही तरीके से शुरुआत करें और अपने एप्लिकेशन को परतों में विकसित करें (आगे पढ़ें:बहुस्तरीय वास्तुकला
) इस आधार के साथ, हम कह सकते हैं कि एक डीएओ (या डेटा सेवा, निर्भर करता है कि आप इसे कैसे नाम देते हैं) में केवल डेटा तक पहुंचने और पुनर्प्राप्त करने के तरीके शामिल होने चाहिए ताकि अन्य ग्राहक इसका उपभोग कर सकें जैसा वे चाहते हैं/आवश्यकता है, इसलिए यह होगा
List<PartList>को बेहतर तरीके से लौटाना ऑब्जेक्ट और आपके एप्लिकेशन में एक और परत (शायद प्रस्तुति के सबसे करीब) आपके ऑब्जेक्ट से JSON स्ट्रिंग में परिवर्तन लागू करेगी। - डिज़ाइन के दृष्टिकोण से, यह बेहतर होगा यदि आपका डेटाबेस एक्सेस ऑब्जेक्ट
DBConnect. का उपयोग करता है वस्तु से विस्तार करने के बजाय। इस तरह, आपके पास एकDBConnectहो सकता है ऑब्जेक्ट प्रति डेटाबेस कनेक्शन कॉन्फ़िगरेशन सभी संबंधित डीएओ से जुड़ा है।