CRUD Operations (Create, Read, Update, Delete) এর ধারণা

Java Technologies - আইবাটিস (iBATIS) - iBATIS এর Basic CRUD Operations
256

iBATIS (বর্তমানে MyBatis) একটি জনপ্রিয় Object-Relational Mapping (ORM) ফ্রেমওয়ার্ক যা Java অ্যাপ্লিকেশন এবং relational databases এর মধ্যে সম্পর্ক স্থাপন করতে সাহায্য করে। iBATIS SQL-centric একটি ফ্রেমওয়ার্ক, যেখানে ডেভেলপারদের SQL কুয়েরি লিখতে হয় এবং সেই কুয়েরিগুলি Java objects এর সাথে ম্যাপ করা হয়।

CRUD অপারেশন হল ডেটাবেসের প্রতি মৌলিক কার্যক্রম যেগুলি হল:

  1. Create – নতুন রেকর্ড তৈরি করা।
  2. Read – ডেটাবেস থেকে রেকর্ড পড়া।
  3. Update – বিদ্যমান রেকর্ড আপডেট করা।
  4. Delete – ডেটাবেস থেকে রেকর্ড মুছে ফেলা।

iBATIS এই CRUD অপারেশনগুলি সম্পাদন করতে সাহায্য করে এবং SQL কুয়েরি সরাসরি XML configuration files এর মাধ্যমে Java objects এর সাথে সম্পর্ক স্থাপন করে।


iBATIS-এ CRUD অপারেশনগুলো কিভাবে কাজ করে

1. Create (INSERT Operation)

iBATIS-এ একটি নতুন রেকর্ড তৈরি করতে INSERT SQL query ব্যবহার করা হয়। INSERT কুয়েরি Java objects থেকে ডেটা নিয়ে ডেটাবেসে রেকর্ড সেভ করে।

Example:

SQLMap Configuration (SQLMap.xml)

<sqlMap namespace="Employee">
    <!-- INSERT query to add a new employee -->
    <insert id="insertEmployee" parameterClass="com.example.Employee">
        INSERT INTO employee (name, salary)
        VALUES (#name#, #salary#)
    </insert>
</sqlMap>

Java Code (Main.java)

import com.ibatis.sqlmap.client.SqlMapClient;
import com.ibatis.sqlmap.client.SqlMapClientBuilder;
import java.io.Reader;

public class Main {
    public static void main(String[] args) throws Exception {
        // Create SqlMapClient
        Reader reader = Resources.getResourceAsReader("SqlMapConfig.xml");
        SqlMapClient sqlMap = SqlMapClientBuilder.buildSqlMapClient(reader);

        // Create a new Employee object
        Employee employee = new Employee("John Doe", 50000);

        // Insert Employee record into database
        sqlMap.insert("Employee.insertEmployee", employee);
    }
}

এখানে:

  • insert: SQLMap XML ফাইলে insert কুয়েরি ব্যবহার করা হয়েছে যা Employee অবজেক্টের name এবং salary ডেটাবেসে ইনসার্ট করে।
  • Java Code: Java কোডে sqlMap.insert() মেথড ব্যবহার করা হয়েছে যা Employee.insertEmployee কুয়েরি চালাবে।

2. Read (SELECT Operation)

iBATIS-এ ডেটাবেস থেকে রেকর্ড পড়তে SELECT SQL query ব্যবহার করা হয়। SELECT কুয়েরি Java objects এর সাথে ম্যাপ করা হয় এবং ডেটাবেস থেকে রেকর্ড রিটার্ন করা হয়।

Example:

SQLMap Configuration (SQLMap.xml)

<sqlMap namespace="Employee">
    <!-- SELECT query to get employee by ID -->
    <select id="getEmployeeById" parameterClass="int" resultClass="com.example.Employee">
        SELECT id, name, salary FROM employee WHERE id = #id#
    </select>
</sqlMap>

Java Code (Main.java)

public class Main {
    public static void main(String[] args) throws Exception {
        // Create SqlMapClient
        Reader reader = Resources.getResourceAsReader("SqlMapConfig.xml");
        SqlMapClient sqlMap = SqlMapClientBuilder.buildSqlMapClient(reader);

        // Retrieve Employee by ID
        Employee employee = (Employee) sqlMap.queryForObject("Employee.getEmployeeById", 1);

        // Display Employee details
        System.out.println("Employee Name: " + employee.getName());
    }
}

এখানে:

  • select: SQLMap XML ফাইলে select কুয়েরি ব্যবহার করা হয়েছে যা Employee রেকর্ড ডেটাবেস থেকে id অনুযায়ী পড়ে এবং Java object হিসেবে রিটার্ন করে।
  • Java Code: sqlMap.queryForObject() মেথড ব্যবহার করা হয়েছে যা Employee.getEmployeeById কুয়েরি চালিয়ে Employee অবজেক্ট রিটার্ন করে।

3. Update (UPDATE Operation)

iBATIS-এ বিদ্যমান রেকর্ড আপডেট করতে UPDATE SQL query ব্যবহার করা হয়। UPDATE কুয়েরি Java objects এর মাধ্যমে প্রাপ্ত ডেটা ব্যবহার করে ডেটাবেসের রেকর্ড আপডেট করে।

Example:

SQLMap Configuration (SQLMap.xml)

<sqlMap namespace="Employee">
    <!-- UPDATE query to update employee salary -->
    <update id="updateEmployeeSalary" parameterClass="com.example.Employee">
        UPDATE employee
        SET salary = #salary#
        WHERE id = #id#
    </update>
</sqlMap>

Java Code (Main.java)

public class Main {
    public static void main(String[] args) throws Exception {
        // Create SqlMapClient
        Reader reader = Resources.getResourceAsReader("SqlMapConfig.xml");
        SqlMapClient sqlMap = SqlMapClientBuilder.buildSqlMapClient(reader);

        // Create Employee object to update
        Employee employee = new Employee("John Doe", 60000);
        employee.setId(1);

        // Update employee salary in the database
        sqlMap.update("Employee.updateEmployeeSalary", employee);
    }
}

এখানে:

  • update: SQLMap XML ফাইলে update কুয়েরি ব্যবহার করা হয়েছে যা Employee অবজেক্টের salary আপডেট করে।
  • Java Code: sqlMap.update() মেথড ব্যবহার করা হয়েছে যা Employee.updateEmployeeSalary কুয়েরি চালিয়ে ডেটাবেসে salary আপডেট করবে।

4. Delete (DELETE Operation)

iBATIS-এ ডেটাবেস থেকে রেকর্ড মুছে ফেলতে DELETE SQL query ব্যবহার করা হয়। DELETE কুয়েরি Java objects এর মাধ্যমে ডেটাবেসের রেকর্ড মুছে ফেলে।

Example:

SQLMap Configuration (SQLMap.xml)

<sqlMap namespace="Employee">
    <!-- DELETE query to delete employee by ID -->
    <delete id="deleteEmployeeById" parameterClass="int">
        DELETE FROM employee WHERE id = #id#
    </delete>
</sqlMap>

Java Code (Main.java)

public class Main {
    public static void main(String[] args) throws Exception {
        // Create SqlMapClient
        Reader reader = Resources.getResourceAsReader("SqlMapConfig.xml");
        SqlMapClient sqlMap = SqlMapClientBuilder.buildSqlMapClient(reader);

        // Delete Employee by ID
        sqlMap.delete("Employee.deleteEmployeeById", 1);
    }
}

এখানে:

  • delete: SQLMap XML ফাইলে delete কুয়েরি ব্যবহার করা হয়েছে যা Employee রেকর্ডটি id অনুযায়ী ডেটাবেস থেকে মুছে ফেলে।
  • Java Code: sqlMap.delete() মেথড ব্যবহার করা হয়েছে যা Employee.deleteEmployeeById কুয়েরি চালিয়ে Employee রেকর্ড মুছে ফেলবে।

iBATIS-এ CRUD অপারেশন সংক্ষেপে

CRUD OperationSQLMap ConfigurationJava Code
Create<insert id="insertEmployee" />sqlMap.insert("Employee.insertEmployee", employee)
Read<select id="getEmployeeById" />sqlMap.queryForObject("Employee.getEmployeeById", id)
Update<update id="updateEmployeeSalary" />sqlMap.update("Employee.updateEmployeeSalary", employee)
Delete<delete id="deleteEmployeeById" />sqlMap.delete("Employee.deleteEmployeeById", id)

iBATIS (MyBatis) হল একটি SQL-centric ORM ফ্রেমওয়ার্ক যা Java objects এবং relational databases এর মধ্যে সম্পর্ক স্থাপন করে। iBATIS ডেটাবেসের সঙ্গে CRUD (Create, Read, Update, Delete) অপারেশনগুলি চালানোর জন্য সরাসরি SQL কুয়েরি ব্যবহার করে এবং SQL কুয়েরি এবং Java objects এর মধ্যে mapping তৈরি করে। এটি ডেভেলপারদের SQL কুয়েরি পুরোপুরি কাস্টমাইজ এবং নিয়ন্ত্রণ করতে সহায়ক করে, যদিও Hibernate বা JPA এর তুলনায় SQL কুয়েরির জন্য বেশি কোড লেখার প্রয়োজন হয়। iBATIS CRUD অপারেশনগুলি খুবই শক্তিশালী এবং কার্যকরী যখন আপনার কাস্টম SQL কুয়েরি চালানোর প্রয়োজন হয়।

Content added By
Promotion
NEW SATT AI এখন আপনাকে সাহায্য করতে পারে।

Are you sure to start over?

Loading...