Mybatisで取得結果を二次元配列に格納

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フィールドを取得し、二次元配列形式で格納しています。