Mybatisで取得結果を二次元配列に格納
MyBatisで取得結果を二次元配列に格納する方法
MyBatisでクエリの結果を二次元配列に格納するには、resultTypeをListObjectに設定します。
以下は、testUserというテーブルからデータを取得し、それを二次元配列に格納する例です。
1. SQLマッピングファイル (XML)
<mapper namespace="testUserMapper"> <select id="getUsers" resultType="Object[]"> SELECT id, name, age FROM testUser </select> </mapper>
2. マッパーインターフェース
import java.util.List; public interface testUserMapper { List<Object[]> getUsers(); }
3. サービスまたはコントローラー
import java.util.List; public class testUserService { private testUserMapper userMapper; public void printUserArray() { List<Object[]> users = userMapper.getUsers(); for (Object[] user : users) { for (Object field : user) { System.out.print(field + " "); } System.out.println(); } } }
解説
- select要素のresultTypeをObject[]に設定すると、各行の結果がObject型の配列として返されます。
- ListObjectの形で結果を取得するため、ループで各配列(行)にアクセスし、フィールドにアクセスすることができます。
この例では、testUserテーブルのid, name, ageフィールドを取得し、二次元配列形式で格納しています。