PreparedStatement-এ SELECT কোয়েরি চালানোর জন্য executeQuery() মেথড ব্যবহার করতে হয়।
সিনট্যাক্স
yourPreparedStatementObject = yourConnectionObject.prepareStatement(yourQueryName);
yourResultSetObject = yourPreparedStatementObject.executeQuery();
ডাটাবেসে টেবিল ও ডেটা তৈরি
mysql> CREATE TABLE JavaPreparedStatement (
-> Id INT,
-> Name VARCHAR(10),
-> Age INT
-> );
Query OK, 0 rows affected (0.89 sec)
mysql> INSERT INTO JavaPreparedStatement VALUES(1, 'Larry', 23);
mysql> INSERT INTO JavaPreparedStatement VALUES(2, 'Sam', 25);
mysql> INSERT INTO JavaPreparedStatement VALUES(3, 'Mike', 26);
জাভা কোড উদাহরণ
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
public class PreparedStatementSelectQueryDemo {
public static void main(String[] args) {
String jdbcURL = "jdbc:mysql://localhost:3306/sample?useSSL=false";
String username = "root";
String password = "123456";
Connection con = null;
PreparedStatement pstmt = null;
ResultSet rst = null;
String myQuery = "SELECT Id, Name, Age FROM JavaPreparedStatement";
try {
con = DriverManager.getConnection(jdbcURL, username, password);
pstmt = con.prepareStatement(myQuery);
rst = pstmt.executeQuery();
System.out.println("Id\t\tName\t\tAge\n");
while (rst.next()) {
System.out.print(rst.getInt(1));
System.out.print("\t\t" + rst.getString(2));
System.out.print("\t\t" + rst.getInt(3));
System.out.println();
}
} catch (Exception exec) {
exec.printStackTrace();
} finally {
// রিসোর্স ক্লোজ করা ভালো প্র্যাক্টিস
try { if (rst != null) rst.close(); } catch (Exception e) {}
try { if (pstmt != null) pstmt.close(); } catch (Exception e) {}
try { if (con != null) con.close(); } catch (Exception e) {}
}
}
}
নমুনা আউটপুট
Id Name Age
1 Larry 23
2 Sam 25
3 Mike 26
সুস্থ কোডিং টিপস:PreparedStatement SQL ইনজেকশন প্রতিরোধ করে এবং একই কোয়ারি বারবার চালালে পারফরম্যান্স বাড়ায়।