Mybatisで取得した配列をループ処理する方法

Mybatisで取得した配列をループ処理する方法

MyBatisで取得した配列をループ処理する方法

MyBatisを使用してデータベースから取得した結果をループ処理する方法を説明します。
以下に具体例を示します。

1. テーブルとクラスの定義

まず、test_employeeというテーブルと、それに対応するTestEmployeeというクラスを作成します。

CREATE TABLE test_employee (
    id INT PRIMARY KEY,
    name VARCHAR(50),
    position VARCHAR(50)
);
public class TestEmployee {
    private int id;
    private String name;
    private String position;

    // Getters and Setters
}
2. MyBatisのMapperインターフェースの作成

次に、Mapperインターフェースを定義します。

public interface TestEmployeeMapper {
    List<TestEmployee> selectAllEmployees();
}
3. MyBatisのXMLマッピングファイル

XMLマッピングファイルでselectを使用して、データベースから全ての従業員データを取得するクエリを記述します。

<select id="selectAllEmployees" resultType="TestEmployee">
    SELECT * FROM test_employee
</select>
4. 配列のループ処理

取得したリストをループ処理する方法は以下の通りです。

import org.apache.ibatis.session.SqlSession;
import java.util.List;

public class TestEmployeeService {

    public void printAllEmployees() {
        try (SqlSession session = MyBatisUtil.getSqlSessionFactory().openSession()) {
            TestEmployeeMapper mapper = session.getMapper(TestEmployeeMapper.class);
            List<TestEmployee> employees = mapper.selectAllEmployees();

            for (TestEmployee employee : employees) {
                System.out.println("ID: " + employee.getId());
                System.out.println("Name: " + employee.getName());
                System.out.println("Position: " + employee.getPosition());
                System.out.println("----------");
            }
        }
    }
}

説明

  • selectAllEmployeesメソッドはtest_employeeテーブルから全ての従業員を取得し、リストに格納します。
  • printAllEmployeesメソッドで、取得したリストをループ処理し、各従業員の情報を表示します。
  • MyBatisUtil.getSqlSessionFactory()は、MyBatisのSqlSessionFactoryを取得するためのユーティリティメソッドで、これはプロジェクトの構成に応じて変更してください。

この方法で、MyBatisで取得した配列をループ処理できます。