RowSet হলো ResultSet অবজেক্টের একটি র্যাপার। এটি ডেটাবেসের সাথে কানেক্টেড, ডিসকানেক্টেড হতে পারে এবং সিরিয়ালাইজ করা যায়। এটি প্রপার্টি সেট করে JavaBean কম্পোনেন্ট মেইনটেইন করে। RowSet অবজেক্ট নেটওয়ার্কের মাধ্যমে পাস করা যায়। ডিফল্টভাবে RowSet অবজেক্ট স্ক্রলযোগ্য ও আপডেটযোগ্য এবং এটি ResultSet কে স্ক্রলযোগ্য ও আপডেটযোগ্য बनाने ব্যবহৃত হয়।
RowSet পাওয়ার উপায়:
RowSetProvider.newFactory().createJdbcRowSet() মেথড।
উদাহরণ
ধরি ডেটাবেসে dataset নামক একটি টেবিল আছে:
+--------------+-----------+ | mobile_brand | unit_sale | +--------------+-----------+ | Iphone | 3000 | | Samsung | 4000 | | Nokia | 5000 | | Vivo | 1500 | | Oppo | 900 | | MI | 6400 | | MotoG | 4360 | | Lenovo | 4100 | | RedMi | 4000 | | MotoG | 4360 | | OnePlus | 6334 | +--------------+-----------+
নিচের JDBC উদাহরণ RowSet অবজেক্ট তৈরি করে টেবিলের কনটেন্ট বের করে।
import java.sql.DriverManager;
import javax.sql.RowSet;
import javax.sql.rowset.RowSetProvider;
public class RowSetExample {
public static void main(String args[]) throws Exception {
// ড্রাইভার রেজিস্টার
DriverManager.registerDriver(new com.mysql.jdbc.Driver());
// RowSet অবজেক্ট তৈরি
RowSet rowSet = RowSetProvider.newFactory().createJdbcRowSet();
// URL সেট
String mysqlUrl = "jdbc:mysql://localhost/TestDB";
rowSet.setUrl(mysqlUrl);
// ইউজার নাম সেট
rowSet.setUsername("root");
// পাসওয়ার্ড সেট
rowSet.setPassword("password");
// কোয়েরি/কমান্ড সেট
rowSet.setCommand("select * from Dataset");
System.out.println("Contents of the table");
while (rowSet.next()) {
System.out.print("Brand: " + rowSet.getString(1) + ", ");
System.out.print("Sale: " + rowSet.getString(2));
System.out.println();
}
}
}
আউটপুট
Contents of the table Brand: Iphone, Sale: 3000 Brand: Samsung, Sale: 4000 Brand: Nokia, Sale: 5000 Brand: Vivo, Sale: 1500 Brand: Oppo, Sale: 900 Brand: MI, Sale: 6400 Brand: MotoG, Sale: 4360 Brand: Lenovo, Sale: 4100 Brand: RedMi, Sale: 4000 Brand: MotoG, Sale: 4360 Brand: OnePlus, Sale: 6334