1. 程式人生 > >Mybatis入門案例簡單分析

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<User> 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的基於代理Dao的流程,接下來我們來自定義一個Mybatis.