Java JDBC में PreparedStatement.setNull() के साथ NULL DATE मान डालना
Java में java.sql.Date ऑब्जेक्ट को NULL के रूप में MySQL DATE कॉलम में डालने के लिए, PreparedStatement.setNull() का उपयोग करें।
Java कोड उदाहरण
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
public class InsertNullDateDemo {
public static void main(String[] args) {
Connection con = null;
PreparedStatement ps = null;
try {
con = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/web?useSSL=false",
"root", "123456");
String query = "INSERT INTO DemoTable(AdmissionDate) VALUES(?)";
ps = con.prepareStatement(query);
// NULL DATE सेट करने का सही तरीका
ps.setNull(1, java.sql.Types.DATE);
ps.executeUpdate();
System.out.println("Check the table......");
} catch (Exception e) {
e.printStackTrace();
} finally {
// संसाधन बंद करें (बेहतर अभ्यास)
try { if (ps != null) ps.close(); } catch (Exception e) {}
try { if (con != null) con.close(); } catch (Exception e) {}
}
}
}
तालिका संरचना
mysql> CREATE TABLE DemoTable (
AdmissionDate DATE
);
मुख्य बिंदु
ps.setNull(parameterIndex, sqlType)- पैरामीटर को NULL सेट करता हैjava.sql.Types.DATE- SQL TYPE कोड (अन्य: TIME, TIMESTAMP, INTEGER, VARCHAR, आदि)ps.setDate(1, null)- कुछ ड्राइवर्स में काम कर सकता है, लेकिन setNull() मानक तरीका है
परिणाम
तालिका में एक पंक्ति डाली जाएगी जहां AdmissionDate NULL होगा।
सर्वोत्तम अभ्यास
- हमेशा
try-with-resources(Java 7+) का उपयोग करें - कनेक्शन पूल (HikariCP) का उपयोग करें
- अपवाद हैंडलिंग में लॉगिंग जोड़ें
- पासवर्ड को कोड में हार्डकोड न करें (कॉन्फिग/पर्यावरण चर उपयोग करें)