在MyBatis中,我們可以使用@Results注解來映射查詢結果。@Results注解用于定義一個或多個@Result注解,用于將查詢結果的列映射到Java對象的屬性。
以下是一個示例,演示如何在MyBatis中使用@Results注解映射查詢結果:
@Results({
@Result(property = "id", column = "user_id"),
@Result(property = "username", column = "user_name"),
@Result(property = "email", column = "user_email")
})
@Select("SELECT user_id, user_name, user_email FROM users WHERE user_id = #{userId}")
User getUserById(Long userId);
在上面的例子中,我們首先使用@Results注解定義了三個@Result注解,分別將查詢結果的"user_id"列映射到User對象的"id"屬性,"user_name"列映射到"username"屬性,"user_email"列映射到"email"屬性。
然后,在@Select注解中指定了查詢SQL,并使用#{userId}占位符來傳遞參數。當MyBatis執行查詢時,會根據@Results注解中的映射關系,將查詢結果的列映射到User對象的對應屬性中。
這樣,我們就可以通過@Results注解來自定義查詢結果的映射關系,從而實現更靈活的結果映射。