在学习一对多的案例的时候需要先学习一对一的案例
本博文在一对一案例的基础之上继续完成
主要区别如上图所示:
由于账户和银行卡之间属于一对多的关系,所以需要使用<collection>这个标签来完成配置,其他的情况和一对一基本没有差别
public class UserTest {
private InputStream in;
private SqlSession sqlSession;
private IUserDao userDao;
@Before//用于在测试方法执行之前执行
public void init()throws Exception{
//1.读取配置文件,生成字节输入流
in = Resources.getResourceAsStream("SqlMapConfig.xml");
//2.获取SqlSessionFactory
SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(in);
//3.获取SqlSession对象
sqlSession = factory.openSession(true);
//4.获取dao的代理对象
userDao = sqlSession.getMapper(IUserDao.class);
}
@After//用于在测试方法执行之后执行
public void destroy()throws Exception{
//提交事务
// sqlSession.commit();
//6.释放资源
sqlSession.close();
in.close();
}
/**
* 测试查询所有
*/
@Test
public void testFindAll(){
List<User> users = userDao.findAll();
for(User user : users){
System.out.println("-----每个用户的信息------");
System.out.println(user);
System.out.println(user.getAccounts());
}
}
}
这篇博客介绍了在Java中如何在一对一案例基础上配置和使用MyBatis的一对多映射关系。通过使用<collection>标签处理账户与银行卡的一对多关系,展示了如何在User对象中获取并打印所有的账户信息。测试方法中调用findAll方法查询所有用户,并遍历展示每个用户的详细信息及其账户集合。
2487

被折叠的 条评论
为什么被折叠?



