Java-এ MySQL JDBC ড্রাইভার ব্যবহার করে ডাটাবেস কানেক্ট করে ResultSet দিয়ে টেবিলের ডেটা পড়া ও প্রদর্শন করা যায়।
টেবিল তৈরি (MySQL)
CREATE TABLE demo87 (name VARCHAR(20), age INT);
INSERT INTO demo87 VALUES ('John', 21), ('David', 23), ('Bob', 22);
Java কোড
import java.sql.*;
import java.util.*;
public class TableValuesDemo {
public static void main(String[] args) {
Connection con = null;
Statement stmt = null;
try {
Class.forName("com.mysql.cj.jdbc.Driver"); // MySQL 8.0+
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/sampledatabase", "root", "123456");
stmt = con.createStatement();
String sql = "SELECT * FROM demo87";
ResultSet rs = stmt.executeQuery(sql);
Map map = new HashMap<>();
while (rs.next()) {
map.put(rs.getString("name"), rs.getInt("age"));
}
System.out.println(map); // {John=21, David=23, Bob=22}
} catch (Exception e) {
e.printStackTrace();
} finally {
try { if (rs != null) rs.close(); } catch (Exception e) {}
try { if (stmt != null) stmt.close(); } catch (Exception e) {}
try { if (con != null) con.close(); } catch (Exception e) {}
}
}
}
আউটপুট
{John=21, David=23, Bob=22}
ব্যাখ্যা:
Class.forName(...)- JDBC ড্রাইভার লোড (Java 6+ এ অপশনাল, অটো-লোড হয়)।DriverManager.getConnection(url, user, pass)- কানেকশন estabelece করে।Statement- স্ট্যাটিক SQL এক্সিকিউট করতে।ResultSet- কোয়েরি রেজাল্ট ধারণ করে।next()কল করলে কারসর পরবর্তী রোতে যায়।getString("col"),getInt("col")- কলাম নাম দিয়ে মান পাওয়া যায় (ইনডেক্সও ব্যবহার করা যায়:getString(1))।finallyব্লকে রিসোর্স ক্লোজ করা জরুরি (কানেকশন লিক এড়াতে)।
মডার্ন বিকল্প: Try-with-resources (Java 7+) ব্যবহার করে অটো-ক্লোজ: try (Connection con = ...; Statement stmt = ...; ResultSet rs = ...) { ... }।