在MyBatis中使用PreparedStatement來執(zhí)行SQL語句,可以通過ResultMap來映射結(jié)果集到Java對象。
在mapper文件中,可以定義ResultMap來映射查詢結(jié)果的列到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方法來執(zhí)行查詢并將結(jié)果映射到Java對象,如下所示:
User user = sqlSession.selectOne("selectUserById", 1);
這樣就可以將查詢結(jié)果映射到User對象中,方便后續(xù)的業(yè)務(wù)處理。需要注意的是,ResultMap中的id屬性對應(yīng)的是Java對象的屬性名,column屬性對應(yīng)的是查詢結(jié)果的列名。確保映射關(guān)系正確,才能正常處理結(jié)果集。