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で取得した配列をループ処理できます。