HSQLDB-কে Java অ্যাপ্লিকেশন থেকে সংযুক্ত করার জন্য JDBC (Java Database Connectivity) ব্যবহার করা হয়। JDBC হলো Java-এর একটি API যা Java অ্যাপ্লিকেশনকে ডেটাবেসের সাথে সংযোগ করতে, ডেটা অ্যাক্সেস করতে, এবং ডেটাবেসে অপারেশন (যেমন INSERT, UPDATE, DELETE) সম্পাদন করতে সাহায্য করে।
এই টিউটোরিয়ালে, Java JDBC ব্যবহার করে HSQLDB ডেটাবেসে সংযোগ করার প্রক্রিয়া বিস্তারিতভাবে দেখানো হবে।
Java JDBC দিয়ে HSQLDB সংযোগের ধাপসমূহ
1. HSQLDB JDBC ড্রাইভার অন্তর্ভুক্ত করা
Java প্রোগ্রামে HSQLDB ব্যবহার করার জন্য প্রথমে HSQLDB JDBC ড্রাইভার ফাইলটি আপনার প্রোজেক্টে অন্তর্ভুক্ত করতে হবে। আপনি যদি Maven ব্যবহার করেন, তবে pom.xml ফাইলে HSQLDB ডিপেনডেন্সি যোগ করতে হবে:
<dependency>
<groupId>org.hsqldb</groupId>
<artifactId>hsqldb</artifactId>
<version>2.6.1</version>
</dependency>
অথবা, আপনি JAR ফাইল ডাউনলোড করে নিজের প্রকল্পে অন্তর্ভুক্ত করতে পারেন। HSQLDB JAR ফাইলটি এখান থেকে ডাউনলোড করা যেতে পারে।
2. JDBC URL তৈরি করা
HSQLDB-তে সংযোগ করার জন্য JDBC URL তৈরি করতে হবে। এই URL টি নির্ধারণ করে কোন ডেটাবেসের সাথে সংযোগ স্থাপন করা হবে এবং কোন মোডে ডেটাবেস কাজ করবে (In-memory বা File-based)।
In-memory ডেটাবেস:
String url = "jdbc:hsqldb:mem:mydb";File-based ডেটাবেস:
String url = "jdbc:hsqldb:file:/path_to_db/mydb";
3. ডেটাবেসে সংযোগ করা
Java প্রোগ্রামে HSQLDB সংযোগ করতে, DriverManager.getConnection() ব্যবহার করতে হয়। এটি ডেটাবেসের URL, ব্যবহারকারীর নাম এবং পাসওয়ার্ডের মাধ্যমে ডেটাবেসে সংযোগ স্থাপন করে।
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class HSQLDBConnection {
public static void main(String[] args) {
// JDBC URL, ব্যবহারকারী নাম এবং পাসওয়ার্ড
String url = "jdbc:hsqldb:mem:mydb"; // ইন-মেমোরি ডেটাবেস
String username = "SA";
String password = "";
// সংযোগ স্থাপন
try {
Connection conn = DriverManager.getConnection(url, username, password);
System.out.println("HSQLDB এর সাথে সংযোগ সফল!");
// ডেটাবেসের সাথে কাজ করতে পারেন এখানে
// সংযোগ বন্ধ
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
এখানে:
url: ডেটাবেসের URL (In-memory বা File-based)username: ডিফল্ট HSQLDB ব্যবহারকারী (এটি সাধারণতSAহয়)password: ডিফল্ট পাসওয়ার্ড (সাধারণত ফাঁকা থাকে)
4. SQL কমান্ড চালানো
ডেটাবেসে সংযোগের পর, আপনি Statement ব্যবহার করে SQL কমান্ড চালাতে পারেন। উদাহরণস্বরূপ, একটি SELECT কুয়েরি চালানো:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class HSQLDBQueryExample {
public static void main(String[] args) {
String url = "jdbc:hsqldb:mem:mydb"; // ইন-মেমোরি ডেটাবেস
String username = "SA";
String password = "";
try {
Connection conn = DriverManager.getConnection(url, username, password);
Statement stmt = conn.createStatement();
// একটি SQL SELECT কুয়েরি চালানো
ResultSet rs = stmt.executeQuery("SELECT * FROM customers");
// রেকর্ড প্রিন্ট করা
while (rs.next()) {
System.out.println("Customer ID: " + rs.getInt("id"));
System.out.println("Customer Name: " + rs.getString("name"));
}
// সংযোগ বন্ধ
rs.close();
stmt.close();
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
এই কোডে:
- একটি SELECT কুয়েরি চালানো হচ্ছে যা
customersটেবিল থেকে সমস্ত রেকর্ড আনবে। ResultSetব্যবহার করে ডেটা রিট্রিভ করা হচ্ছে এবং প্রতি রেকর্ডেরidওnameপ্রিন্ট করা হচ্ছে।
5. ট্রানজেকশন পরিচালনা
JDBC ব্যবহার করে আপনি ডেটাবেসে ট্রানজেকশন পরিচালনা করতে পারেন। ট্রানজেকশন কমিট বা রোলব্যাক করতে, আপনি setAutoCommit(false) এবং commit() বা rollback() ব্যবহার করতে পারেন।
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
public class HSQLDBTransaction {
public static void main(String[] args) {
String url = "jdbc:hsqldb:mem:mydb";
String username = "SA";
String password = "";
try {
Connection conn = DriverManager.getConnection(url, username, password);
conn.setAutoCommit(false); // ট্রানজেকশন বন্ধ
Statement stmt = conn.createStatement();
stmt.executeUpdate("INSERT INTO customers (id, name, email) VALUES (1, 'John Doe', 'john@example.com')");
stmt.executeUpdate("INSERT INTO customers (id, name, email) VALUES (2, 'Jane Smith', 'jane@example.com')");
conn.commit(); // ট্রানজেকশন কমিট করা
System.out.println("ডেটা সফলভাবে ইনসার্ট করা হয়েছে!");
stmt.close();
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
এখানে:
setAutoCommit(false): ট্রানজেকশন ম্যানুয়ালি পরিচালনা করতে।commit(): সমস্ত পরিবর্তন নিশ্চিত করতে।rollback(): কোনো ত্রুটির কারণে ট্রানজেকশন ব্যর্থ হলে পরিবর্তনগুলি বাতিল করতে।
সারাংশ
Java JDBC ব্যবহার করে HSQLDB ডেটাবেসে সংযোগ করতে নিম্নলিখিত ধাপগুলি অনুসরণ করতে হবে:
- HSQLDB JDBC ড্রাইভার অন্তর্ভুক্ত করা।
- ডেটাবেস URL তৈরি করা।
DriverManager.getConnection()ব্যবহার করে ডেটাবেসে সংযোগ করা।- SQL কমান্ড চালানো, যেমন
SELECT,INSERT,UPDATE। - ট্রানজেকশন পরিচালনা করতে
commit()এবংrollback()ব্যবহার করা।
এই ধাপগুলো ব্যবহার করে আপনি Java অ্যাপ্লিকেশন থেকে HSQLDB ডেটাবেসে কার্যকরভাবে সংযোগ এবং ডেটাবেস অপারেশন করতে পারবেন।
Read more