Mybatis原始執行方式Executor代碼實例
一、通過SqlSessionFactory創建sqlsession,再由Sqlsession獲取session對象,然后通過session中的執行器Executor,去執行MapperStatement封裝的sql語句
@Testpublic void findAll() throws IOException { //1.讀取配置文件 InputStream in = Resources.getResourceAsStream('SqlMapConfig.xml'); //2.創建 SqlSessionFactory 的構建者對象 SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder(); //3.使用構建者創建工廠對象 SqlSessionFactory SqlSessionFactory factory = builder.build(in); //4.使用 SqlSessionFactory 生產 SqlSession 對象 SqlSession session = factory.openSession(); List<User> users = session.selectList('findAll'); /* //5.使用 SqlSession 創建 dao 接口的代理對象(接口綁定原理使用的jdk動態代理) UserDao userDao = session.getMapper(UserDao.class); //6.使用代理對象執行查詢所有方法 List<User> users = userDao.findAll(); */ for (User user : users) { System.out.println(user); } //7.釋放資源 session.close(); in.close();}
二、執行器Executor的分類
SimpleExecutor:默認的Executor,每個SQL執行時都會創建新的 Statement,繼承了 BaseExecutor CachingExecutor:可緩存數據的Executor,用于二級緩存的執行器 BatchExecutor:用于批處理的Executor ReuseExecutor:相同的SQL會服用的Statemen以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。
相關文章:
