Mybatis原始執(zhí)行方式Executor代碼實(shí)例
一、通過SqlSessionFactory創(chuàng)建sqlsession,再由Sqlsession獲取session對(duì)象,然后通過session中的執(zhí)行器Executor,去執(zhí)行MapperStatement封裝的sql語(yǔ)句
@Testpublic void findAll() throws IOException { //1.讀取配置文件 InputStream in = Resources.getResourceAsStream('SqlMapConfig.xml'); //2.創(chuàng)建 SqlSessionFactory 的構(gòu)建者對(duì)象 SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder(); //3.使用構(gòu)建者創(chuàng)建工廠對(duì)象 SqlSessionFactory SqlSessionFactory factory = builder.build(in); //4.使用 SqlSessionFactory 生產(chǎn) SqlSession 對(duì)象 SqlSession session = factory.openSession(); List<User> users = session.selectList('findAll'); /* //5.使用 SqlSession 創(chuàng)建 dao 接口的代理對(duì)象(接口綁定原理使用的jdk動(dòng)態(tài)代理) UserDao userDao = session.getMapper(UserDao.class); //6.使用代理對(duì)象執(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以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. MYSQL(電話號(hào)碼,身份證)數(shù)據(jù)脫敏的實(shí)現(xiàn)2. Mysql入門系列:需要避免的MYSQL客戶機(jī)程序設(shè)計(jì)錯(cuò)誤3. 使用MySqldump命令導(dǎo)出數(shù)據(jù)時(shí)的注意5. SQL2000管理SQL7服務(wù)器出現(xiàn)TIMEOUT問題的解決6. MySQL存儲(chǔ)過程例子(包含事務(wù)、參數(shù)、嵌套調(diào)用、游標(biāo)循環(huán)等)7. Mysql入門系列:MYSQL圖像數(shù)據(jù)的處理8. MySQL Installer 8.0.21安裝教程圖文詳解9. 淺談DB2數(shù)據(jù)庫(kù)故障處理及最佳實(shí)踐10. 經(jīng)驗(yàn)分享:Informix和Oracle存儲(chǔ)過程的異同
