@many與@one的使用方法相同,用于表示一對多的關(guān)系反粥。我們?nèi)匀皇褂弥暗腢ser(用戶)和Hobby(興趣)之間的一對多關(guān)系作為例子疏哗,來學習@many的使用方法。同樣庐镐,先回顧下之前用MapperXML配置的一對多關(guān)系模型:
User類中有一個hobbyList恩商,用于存放一個用戶的所有興趣愛好的對象。具體代碼如下:
Hobby數(shù)據(jù)庫表中存放一個userId的字段必逆,用于標識是哪個用戶的愛好怠堪。接下來我們添加一個IhobbyDao的Mapper接口,定義一個根據(jù)UserId查詢出所有興趣愛好的接口名眉,并適用注解標記對應的查詢SQL粟矿。代碼如下:
接下來我修改User的Mapper接口IuserDao類:
這里我們使用了@Many注解的select屬性來指向一個完全限定名方法,該方法將返回一個List對象损拢。使用column=”userId”陌粹,user數(shù)據(jù)表中的userId列值將會作為輸入?yún)?shù)傳遞給findHobbyListByUserId()方法。