在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注解来自定义查询结果的映射关系,从而实现更灵活的结果映射。