Mybatis:一对多的查询
在学习一对多的案例的时候需要先学习一对一的案例
本博文在一对一案例的基础之上继续完成
主要区别如上图所示:
由于账户和银行卡之间属于一对多的关系,所以需要使用<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()); } } }
一纸高中万里风,寒窗读破华堂空。
莫道长安花看尽,由来枝叶几相同?