MySQL में, DATE
जावा क्लास में मैप टाइप करें java.sql.Timestamp
. इसलिए आपको अपनी क्वेरी बनाने के लिए इस प्रकार के साथ काम करना चाहिए, न कि java.util.Date
के साथ। . यहां कोड है जो दो टाइमस्टैम्प जेनरेट करता है जिनकी आपको आवश्यकता होगी:
SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy");
java.util.Date startDate = formatter.parse(startDate);
java.util.Date endDate = formatter.parse(endDate);
java.sql.Timestamp start = new Timestamp(startDate.getTime());
java.sql.Timestamp end = new Timestamp(endDate.getTime());
फिर अपने पहले BETWEEN
. का उपयोग करें अपना परिणाम प्राप्त करने के लिए क्वेरी:
PreparedStatement ps = con.prepareStatement("SELECT * FROM project.order
WHERE PO_Date BETWEEN ? AND ?");
ps.setTimestamp(1, start);
ps.setTimestamp(2, end)
यहां ध्यान दें कि मैं एक पैरामीट्रिज्ड PreparedStatement
. का उपयोग कर रहा हूं , जो SQL इंजेक्शन की संभावना से बचाती है (या कम से कम बहुत कम करती है)।