ps.setNull(1, java.sql.Types.DATE) দিয়ে NULL ডেট ইনসার্ট
JDBC-এ PreparedStatement ব্যবহার করে MySQL-এ DATE কলামে NULL মান ইনসার্ট করার জন্য setNull(parameterIndex, sqlType) মেথড ব্যবহার করা হয়।
টেবিল তৈরি
mysql> CREATE TABLE DemoTable (AdmissionDate DATE);
Java কোড (PreparedStatement + setNull)
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);
ps.setNull(1, java.sql.Types.DATE); // NULL ডেট সেট
ps.executeUpdate();
System.out.println("check the table......");
} catch (Exception e) {
e.printStackTrace();
} finally {
// resource close করুন (try-with-resources ব্যবহার করুন)
}
}
}
ফলাফল (টেবিল চেক)
টেবিলে AdmissionDate কলামে NULL ভ্যালু ইনসার্ট হয়ে থাকবে।
বিকল্প: ps.setObject(1, null, Types.DATE)
ps.setObject(1, null, java.sql.Types.DATE);
দুটি পদ্ধতিই সমতুল্য, setNull বেশি স্পষ্ট এবং পঠনীয়।
সেরা অনুশীলন
- Try-with-resources ব্যবহার করে কানেকশন/স্টেটমেন্ট অটো-ক্লোজ করুন।
- কানেকশন পুল (HikariCP) ব্যবহার করুন প্রোডাকশনে।
- SQL ইনজেকশন রোধে সবসময় PreparedStatement ব্যবহার করুন।