MyBatis 一对多关系

一对多的关系可以用@many与@one的使用方法来表示。我们仍然使用之前的User(用户)和Hobby(兴趣)之间的一对多关系作为例子,来学习@many的使用方法。同样,先回顾下之前用Mapper XML配置的一对多关系模型:


User类中有一个hobbyList,用于存放一个用户的所有兴趣爱好的对象。具体代码如下:


MyBatis 一对多关系_第1张图片

Hobby数据库表中存放一个userId的字段,用于标识是哪个用户的爱好。接下来我们添加一个IhobbyDao的Mapper接口,定义一个根据UserId查询出所有兴趣爱好的接口,并适用注解标记对应的查询SQL。代码如下:


接下来我修改User的Mapper接口IuserDao类:


MyBatis 一对多关系_第2张图片

这里我们使用了@Many注解的select属性来指向一个完全限定名方法,该方法将返回一个List对象。使用column=”userId”,user数据表中的userId列值将会作为输入参数传递给findHobbyListByUserId()方法。

你可能感兴趣的:(MyBatis 一对多关系)