在MyBatis中使用PreparedStatement来执行SQL语句,可以通过ResultMap来映射结果集到Java对象。
在mapper文件中,可以定义ResultMap来映射查询结果的列到Java对象的属性,如下所示:
<resultMap id="userMap" type="User">
<id property="id" column="id"/>
<result property="name" column="name"/>
<result property="age" column="age"/>
</resultMap>
然后在select语句中引用该ResultMap,如下所示:
<select id="selectUserById" resultMap="userMap">
SELECT id, name, age
FROM user
WHERE id = #{id}
</select>
在Java代码中,可以通过SqlSession的selectOne方法来执行查询并将结果映射到Java对象,如下所示:
User user = sqlSession.selectOne("selectUserById", 1);
这样就可以将查询结果映射到User对象中,方便后续的业务处理。需要注意的是,ResultMap中的id属性对应的是Java对象的属性名,column属性对应的是查询结果的列名。确保映射关系正确,才能正常处理结果集。