阅读量:0
在MyBatis中,可以使用@Collection注解来配置Collection类型的属性。@Collection注解可以用于配置List、Set、Map等类型的属性。
以下是@Collection注解的用法示例:
public class User { private Long id; private List<Role> roles; // Getter and Setter methods public Long getId() { return id; } public void setId(Long id) { this.id = id; } public List<Role> getRoles() { return roles; } public void setRoles(List<Role> roles) { this.roles = roles; } } public interface UserMapper { @Select("SELECT * FROM user WHERE id = #{id}") @Results({ @Result(property = "id", column = "id"), @Result(property = "roles", column = "id", javaType = List.class, many = @Many(select = "getUserRoles")) }) User getUserById(Long id); @Select("SELECT * FROM role WHERE user_id = #{userId}") List<Role> getUserRoles(Long userId); }
在上面的示例中,User类中有一个List类型的roles属性,使用@Collection注解来配置roles属性的映射关系。在UserMapper接口中,通过@Results注解配置getUserById方法的返回结果,指定roles属性使用@Collection注解映射到getUserRoles方法返回的List
通过@Collection注解的配置,可以方便地映射Java对象中的Collection属性与数据库表中的相关数据,简化了开发过程。