@many与@one的使用方法相同,用于表示一对多的关系。我们仍然使用之前的User(用户)和Hobby(兴趣)之间的一对多关系作为例子,来学习@many的使用方法。同样,先回顾下之前用MapperXML配置的一对多关系模型:
User类中有一个hobbyList,用于存放一个用户的所有兴趣爱好的对象。具体代码如下:
Hobby数据库表中存放一个userId的字段,用于标识是哪个用户的爱好。接下来我们添加一个IhobbyDao的Mapper接口,定义一个根据UserId查询出所有兴趣爱好的接口,并适用注解标记对应的查询SQL。代码如下:
接下来我修改User的Mapper接口IuserDao类:
这里我们使用了@Many注解的select属性来指向一个完全限定名方法,该方法将返回一个List对象。使用column=”userId”,user数据表中的userId列值将会作为输入参数传递给findHobbyListByUserId()方法。