一對多的關(guān)系可以用@many與@one的使用方法來表示。我們?nèi)匀皇褂弥暗腢ser(用戶)和Hobby(興趣)之間的一對多關(guān)系作為例子,來學(xué)習(xí)@many的使用方法。同樣,先回顧下之前用Mapper XML配置的一對多關(guān)系模型:

User類中有一個hobbyList,用于存放一個用戶的所有興趣愛好的對象。具體代碼如下:

Hobby數(shù)據(jù)庫表中存放一個userId的字段,用于標識是哪個用戶的愛好。接下來我們添加一個IhobbyDao的Mapper接口,定義一個根據(jù)UserId查詢出所有興趣愛好的接口,并適用注解標記對應(yīng)的查詢SQL。代碼如下:

接下來我修改User的Mapper接口IuserDao類:

這里我們使用了@Many注解的select屬性來指向一個完全限定名方法,該方法將返回一個List對象。使用column=”userId”,user數(shù)據(jù)表中的userId列值將會作為輸入?yún)?shù)傳遞給findHobbyListByUserId()方法。