实体类
public class User implements Serializable {<br> private Integer id;<br> private String username;<br> private String address;<br> private String sex;<br> private Date birthday;<br> //一对多关系映射,一个用户对应多个账号<br> private List<Account> accounts;
接口
/**<br> * 查询所有用户,并且获取所有用户的所有账号<br> * 一对多<br> *<br> * @return<br> */<br> @Select("select * from user")<br> //只有当前接口使用的可以不定义id="userAccountMap"<br> @Results(value = {<br> @Result(id = true, column = "id", property = "id"),<br> @Result(column = "username", property = "username"),<br> @Result(column = "address", property = "address"),<br> @Result(column = "sex", property = "sex"),<br> @Result(column = "birthday", property = "birthday"),<br> //把当前user表中的id作为下一个sql语句的参数<br> @Result(column = "id", property = "accounts",<br> //一对多使用懒加载(延迟加载,缓加载)<br> many = @Many(select = "com.tdcq.dao.AccountDao.findAccountByUid", fetchType = FetchType.LAZY)<br> )<br> })<br> List<User> findAll2();
测试
/**<br> * 查询所有用户,并且获取所有用户的所有账号<br> * 一对多,延迟加载<br> */<br> @Test<br> public void testFindAll2(){<br> List<User> users = userDao.findAll2();<br> for (User user:users){<br> System.out.println("------------------------------------------------------------");<br> System.out.println(user);<br> System.out.println(user.getAccounts());<br> }<br> }