Java-তে JDBC ব্যবহার করে MySQL ডেটাবেস থেকে সর্বশেষ রেকর্ড পাওয়ার জন্য ORDER BY id DESC LIMIT 1 কোয়েরি এবং executeQuery() মেথড ব্যবহার করা হয়।
MySQL টেবিল তৈরি
mysql> CREATE TABLE javaGetDataDemo (
-> Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> FirstName VARCHAR(10),
-> LastName VARCHAR(10)
-> );
ডেটা ইনসার্ট:
mysql> INSERT INTO javaGetDataDemo(FirstName, LastName) VALUES('John', 'Smith');
mysql> INSERT INTO javaGetDataDemo(FirstName, LastName) VALUES('Carol', 'Taylor');
Java কোড
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class GetDataFromMySQLToJava {
public static void main(String[] args) {
String JdbcURL = "jdbc:mysql://localhost:3306/sample?useSSL=false";
String Username = "root";
String password = "123456";
Connection con = null;
Statement stmt = null;
ResultSet rs = null;
try {
System.out.println("Connecting to database............... " + JdbcURL);
con = DriverManager.getConnection(JdbcURL, Username, password);
Statement st = con.createStatement();
String query = "SELECT * FROM javaGetDataDemo ORDER BY Id DESC LIMIT 1;";
rs = st.executeQuery(query);
if (rs.next()) {
String fname = rs.getString("FirstName");
String lname = rs.getString("LastName");
System.out.println("FirstName: " + fname);
System.out.println("LastName: " + lname);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
আউটপুট
Connecting to database............... jdbc:mysql://localhost:3306/sample?useSSL=false FirstName: Carol LastName: Taylor
ব্যাখ্যা: ORDER BY Id DESC দিয়ে বড় আইডি প্রথমে আনা হয়, LIMIT 1 দিয়ে শুধু প্রথমটি (সর্বশেষ ইনসার্টেড) নেওয়া হয়। executeQuery() সিলেক্ট কোয়েরির জন্য ব্যবহৃত হয়। কানেকশন, স্টেটমেন্ট, রেজাল্টসেট বন্ধ করার জন্য try-with-resources ব্যবহার করা ভালো প্র্যাকটিস।