Mybatis原始執(zhí)行方式Executor代碼實例
一、通過SqlSessionFactory創(chuàng)建sqlsession,再由Sqlsession獲取session對象,然后通過session中的執(zhí)行器Executor,去執(zhí)行MapperStatement封裝的sql語句
@Testpublic void findAll() throws IOException { //1.讀取配置文件 InputStream in = Resources.getResourceAsStream('SqlMapConfig.xml'); //2.創(chuàng)建 SqlSessionFactory 的構建者對象 SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder(); //3.使用構建者創(chuàng)建工廠對象 SqlSessionFactory SqlSessionFactory factory = builder.build(in); //4.使用 SqlSessionFactory 生產(chǎn) SqlSession 對象 SqlSession session = factory.openSession(); List<User> users = session.selectList('findAll'); /* //5.使用 SqlSession 創(chuàng)建 dao 接口的代理對象(接口綁定原理使用的jdk動態(tài)代理) UserDao userDao = session.getMapper(UserDao.class); //6.使用代理對象執(zhí)行查詢所有方法 List<User> users = userDao.findAll(); */ for (User user : users) { System.out.println(user); } //7.釋放資源 session.close(); in.close();}
二、執(zhí)行器Executor的分類
SimpleExecutor:默認的Executor,每個SQL執(zhí)行時都會創(chuàng)建新的 Statement,繼承了 BaseExecutor CachingExecutor:可緩存數(shù)據(jù)的Executor,用于二級緩存的執(zhí)行器 BatchExecutor:用于批處理的Executor ReuseExecutor:相同的SQL會服用的Statemen以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關文章:
1. 詳解sql server中數(shù)據(jù)庫快照工作原理2. Mysql優(yōu)化方法詳細介紹3. Mybatis 一級緩存與二級緩存的實現(xiàn)4. 盤點SqlServer 分頁方式和拉姆達表達式分頁5. Docker 安裝 MySQL 并實現(xiàn)遠程連接教程6. 解決MySQL讀寫分離導致insert后select不到數(shù)據(jù)的問題7. 為SQLite3提供一個ANSI到UTF8的互轉(zhuǎn)函數(shù)8. centos編譯安裝mariadb的詳細過程9. SQL Server數(shù)據(jù)庫超級管理員賬號防護知識10. 初識SQLITE3數(shù)據(jù)庫
