在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屬性對應的是查詢結果的列名。確保映射關系正確,才能正常處理結果集。