Statement ইন্টারফেস স্ট্যাটিক SQL স্টেটমেন্টকে প্রতিনিধিত্ব করে, এটি জাভা প্রোগ্রাম ব্যবহার করে সাধারণ উদ্দেশ্যের SQL স্টেটমেন্ট তৈরি ও এক্সিকিউট করতে ব্যবহৃত হয়।
Statement তৈরি করা
Connection ইন্টারফেসের createStatement() মেথড ব্যবহার করে এই ইন্টারফেসের একটি অবজেক্ট তৈরি করা যায়। নিচের উদাহরণটি দেখুন:
Statement stmt = null;
try {
stmt = conn.createStatement();
. . .
} catch (SQLException e) {
. . .
} finally {
. . .
}
Statement অবজেক্ট এক্সিকিউট করা
Statement অবজেক্ট তৈরি হলে, এটি তিনটি এক্সিকিউট মেথডের যেকোনো একটি ব্যবহার করে চালানো যায়: execute(), executeUpdate() এবং executeQuery()।
execute(): এই মেথডটি SQL DDL স্টেটমেন্ট এক্সিকিউট করতে ব্যবহৃত হয়। এটি একটি বুলিয়ান মান রিটার্ন করে যা নির্দেশ করে ResultSet অবজেক্ট পাওয়া যাবে কিনা।
executeUpdate(): এই মেথডটি INSERT, UPDATE, DELETE এর মতো স্টেটমেন্ট এক্সিকিউট করতে ব্যবহৃত হয়। এটি প্রভাবিত সারির সংখ্যা নির্দেশকারী একটি ইন্টিজার মান রিটার্ন করে।
executeQuery(): এই মেথডটি টেবুলার ডেটা রিটার্নকারী স্টেটমেন্ট (যেমন SELECT স্টেটমেন্ট) এক্সিকিউট করতে ব্যবহৃত হয়। এটি ResultSet ক্লাসের একটি অবজেক্ট রিটার্ন করে।
উদাহরণ
নিচের JDBC অ্যাপ্লিকেশনটি দেখায় কিভাবে একটি Statement তৈরি ও এক্সিকিউট করতে হয়।
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class StatementExample {
public static void main(String args[]) throws SQLException {
// ড্রাইভার রেজিস্টার করা
DriverManager.registerDriver(new com.mysql.jdbc.Driver());
// কানেকশন'établিশ করা
String mysqlUrl = "jdbc:mysql://localhost/testdb";
Connection con = DriverManager.getConnection(mysqlUrl, "root", "password");
System.out.println("Connection established......");
// Statement তৈরি করা
Statement stmt = con.createStatement();
// Statement এক্সিকিউট করা
String createTable = "CREATE TABLE Employee("
+ "Name VARCHAR(255), "
+ "Salary INT NOT NULL, "
+ "Location VARCHAR(255))";
boolean bool = stmt.execute(createTable);
String insertData = "INSERT INTO Employee("
+ "Name, Salary, Location) VALUES "
+ "('Amit', 30000, 'Hyderabad'), "
+ "('Kalyan', 40000, 'Vishakhapatnam'), "
+ "('Renuka', 50000, 'Delhi'), "
+ "('Archana', 15000, 'Mumbai')";
int i = stmt.executeUpdate(insertData);
System.out.println("Rows inserted: " + i);
ResultSet rs = stmt.executeQuery("Select * from Employee");
while(rs.next()) {
System.out.print("Name: " + rs.getString("Name") + ", ");
System.out.print("Salary: " + rs.getInt("Salary") + ", ");
System.out.print("City: " + rs.getString("Location"));
System.out.println();
}
}
}
আউটপুট
Connection established...... Rows inserted: 4 Name: Amit, Salary: 30000, City: Hyderabad Name: Kalyan, Salary: 40000, City: Vishakhapatnam Name: Renuka, Salary: 50000, City: Delhi Name: Archana, Salary: 15000, City: Mumbai