কম্পিউটার টিউটোরিয়াল

Java-এ PreparedStatement দিয়ে MySQL-এ NULL java.sql.Date ইনসার্ট করা


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 ব্যবহার করুন।
  1. Java ব্যবহার করে MySQL টেবিলে রেকর্ড সন্নিবেশ করা

  2. Java-MySQL 연동: 단일 컬럼만 INSERT하기

  3. Java-এ PreparedStatement ব্যবহার করে MySQL-এ NULL মান ইনসার্ট করা (setNull)

  4. Java-এ MySQL টেবিল থেকে ArrayList-এ ডেটা লোড করা