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

Java-এ MySQL PreparedStatement ব্যবহার করে WHERE শর্তে মান পাস করা

Java-এ MySQL ডাটাবেসে সিকিউর কোয়েরি চালাতে PreparedStatement ব্যবহার করা সেরা অনুশীলন। এটি SQL ইনজেকশন প্রতিরোধ করে এবং পারফরম্যান্স বাড়ায়।

সিনট্যাক্স

String query = "SELECT yourColumnName FROM yourTableName WHERE name = ?";
PreparedStatement ps = (PreparedStatement) con.prepareStatement(query);
ps.setString(columnIndex, yourValue);

উদাহরণ

টেবিল তৈরি:

CREATE TABLE demo37 (
    id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(200)
);

ডেটা ইনসার্ট:

INSERT INTO demo37(name) VALUES ('John'), ('Bob'), ('John'), ('Chris'), ('David'), ('John'), ('Mike');

Java কোড

import java.sql.*;

public class PrepareStatementDemo {
    public static void main(String[] args) {
        Connection con = null;
        try {
            Class.forName("com.mysql.cj.jdbc.Driver"); // MySQL 8.0+ 드라이버
            con = DriverManager.getConnection("jdbc:mysql://localhost:3306/sampledatabase", "root", "123456");
            
            String query = "SELECT name FROM demo37 WHERE name = ?";
            PreparedStatement ps = con.prepareStatement(query);
            ps.setString(1, "John"); // 1 নম্বর প্লেসহোল্ডার
            
            ResultSet rs = ps.executeQuery();
            while (rs.next()) {
                System.out.println(rs.getString(1));
            }
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            try { if (con != null) con.close(); } catch (SQLException e) { e.printStackTrace(); }
        }
    }
}

আউটপুট

John
John
John

ব্যাখ্যা: ? হলো প্লেসহোল্ডার। ps.setString(1, "John") দিয়ে প্রথম প্লেসহোল্ডারের মান সেট করা হয়। PreparedStatement প্রিকম্পাইলড হয়, তাই একই কোয়েরি বারবার চালালে পারফরম্যান্স ভালো থাকে। MySQL 8.0+ এর জন্য ড্রাইভার ক্লাস com.mysql.cj.jdbc.Driver।

  1. MySQL-এ CASE WHEN ব্যবহার করে ১ কে 'Y' এবং ০ কে 'N' এ রূপান্তর করা (সিলেক্ট স্টেটমেন্টে)

  2. Java-এ MySQL ResultSet থেকে কলাম নাম পাওয়া

  3. Java-এ MySQL PreparedStatement দিয়ে SELECT কোয়েরি চালানো

  4. Java-এ MySQL LIKE কোয়ারিতে সঠিক কোটেশন (Quotes) ব্যবহার করা