Mybatis原始執(zhí)行方式Executor代碼實(shí)例
一、通過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 的構(gòu)建者對象 SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder(); //3.使用構(gòu)建者創(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動(dòng)態(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:默認(rèn)的Executor,每個(gè)SQL執(zhí)行時(shí)都會(huì)創(chuàng)建新的 Statement,繼承了 BaseExecutor CachingExecutor:可緩存數(shù)據(jù)的Executor,用于二級(jí)緩存的執(zhí)行器 BatchExecutor:用于批處理的Executor ReuseExecutor:相同的SQL會(huì)服用的Statemen以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. DBeaver連接MySQL的超詳細(xì)步驟2. 學(xué)習(xí)SQL SERVER的存儲(chǔ)過程-之一認(rèn)識(shí)存儲(chǔ)過程語法3. 如何:創(chuàng)建和運(yùn)行 CLR SQL Server 用戶定義的類型4. 淺析MysQL B-Tree 索引5. 解析MySQL binlog6. 關(guān)于MySQL中explain工具的使用7. golang實(shí)現(xiàn)mysql數(shù)據(jù)庫事務(wù)的提交與回滾8. Oracle 數(shù)據(jù)字典9. 巧用SQL語言在ACCESS數(shù)據(jù)庫中批量替換內(nèi)容10. Oracle數(shù)據(jù)庫9i和10g環(huán)境下使用*.ora
