マイバティスのmapperにおけるMapメソッドの使用方法
MyBatisでは、Mapperインターフェース内のmapメソッドはSQL文を実行してその結果をJavaオブジェクトにマッピングする。
まず、Mapperインターフェイス内でmapメソッドを定義します。メソッドのパラメータは1つのオブジェクトか、複数のオブジェクトでもかまいません。例:
public interface UserMapper {
Map<String, Object> getUserById(int id);
}
次に、Mapper XMLファイルで対応するSQL文を書いて、resultMap 要素を使用して結果を Map オブジェクトにマップします。例:
<select id="getUserById" resultType="java.util.Map">
SELECT * FROM users WHERE id = #{id}
</select>
最後に、Javaコード内でMapperのmapメソッドを呼び出し、パラメーターを渡してSQL文を実行します。たとえば、
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
Map<String, Object> user = userMapper.getUserById(1);
こうしてクエリ結果をMapオブジェクトにマッピングでき、キーバリューペア形式で対応する値を取得できます。なお、返されるMapオブジェクトのキーバリューペアは、データベースの列名と対応する値です。