溫馨提示×

MyBatis PreparedStatement的結(jié)果集處理

小樊
86
2024-08-09 22:42:39
欄目: 編程語言

在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é)果集。

0