com.mysql.jdbc.PreparedStatement
MySQL 5.x JDBC ड्राइवर के लिए एक आंतरिक वर्ग है। आपका कोड इसे आयात नहीं करना चाहिए। इसे मानक java.sql.PreparedStatement
. का उपयोग करना चाहिए इसके बजाय कक्षा।
MySQL 8.x JDBC ड्राइवरों में पैकेज के नाम बदल गए हैं, और यही कारण है कि आपके कोड ने संकलन त्रुटियां देना शुरू कर दिया है।
समाधान:
-
अपना कोड ठीक करें ताकि यह किसी भी MySQL कार्यान्वयन वर्ग को आयात न करे।
java.sql.*
. का प्रयोग करें औरjavax.sql.*
इसके बजाय कक्षा। -
अपनी परियोजना निर्भरता बदलें ताकि MySQL ड्राइवर JAR संकलन-समय पर निर्भरता न हो। ऐसा करने से कोई आकस्मिक होगा JDBC ड्राइवरों पर स्रोत कोड निर्भरता को संकलन त्रुटियों के रूप में चिह्नित किया जाना है। यह आपके IDE को
import
. के लिए गलत सुझाव देने से भी रोकेगा बयान। (मेरा अनुमान है कि इस तरह आपके कोडबेस में फर्जी आयात आया।) -
यदि आपका कोड (अभी भी)
Class.forName
. का उपयोग कर रहा है JDBC ड्राइवर को लोड करने के लिए, इसेjava.sql.DriverManager
. का उपयोग करने के लिए बदलें बजाय; देखें javadoc . इस तरह आप MySQL ड्राइवर वर्ग के नाम में किसी अन्य परिवर्तन से नहीं जलेंगे।