Mybatis入门案例简单分析

Mybatis的快速入门

    public void testFindAll() throws IOException {

//        读取配置文件
        InputStream inputStream = MybatisTest.class.getClassLoader().getResourceAsStream("SqlMapConfig.xml");
//        获取SqlSessionFactory对象
        SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(inputStream);
//        使用工厂生产SqlSession对象 
        SqlSession sqlSession = factory.openSession();
//        使用SqlSession创建Dao接口的代理对象
        IUserDao userDao = sqlSession.getMapper(IUserDao.class);
//        执行查询所有方法
        List userList = userDao.findAll();
        for (User user : userList) {
            System.out.println(user);
        }
//       释放资源
        sqlSession.close();
        inputStream.close();

    }

  1. 读取配置文件遇到的问题,绝对路径和相对路径,他们都有各自的问题,所以我们在开发中大概只使用两种. 一.类加载器,读取类路径的配置文件 二.使用ServletContext的getRealPath()得到当前项目部署的路径.
  2. new SqlSessionFactoryBuilder() 使用了构建者设计模式,隐藏了对象的创建细节
  3. 创建SqlSession对象使用了工厂模式 降低了类之间的依赖关系
  4. session.getMapper(IUserDao.class) 使用了代理模式 不修改源码的情况下对已有方法增强.

下面来一张Mybatis的快速入门的流程图供大家理解

Mybatis入门案例简单分析_第1张图片

为什么要加这些东西呢?为了灵活,为了在开发中选择更多,在后面开发中我们之间拿来使用,而细节会被之间隐藏掉.
好了,我们大概的了解了Mybatis的基于代理Dao的流程.

你可能感兴趣的:(Mybatis)