Mybatis原始執(zhí)行方式Executor代碼實(shí)例
一、通過SqlSessionFactory創(chuàng)建sqlsession,再由Sqlsession獲取session對(duì)象,然后通過session中的執(zhí)行器Executor,去執(zhí)行MapperStatement封裝的sql語句
@Test
public 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
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Springboot和bootstrap實(shí)現(xiàn)shiro權(quán)限控制配置過程
這篇文章主要介紹了Springboot和bootstrap實(shí)現(xiàn)shiro權(quán)限控制,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-04-04
java實(shí)現(xiàn)多層級(jí)zip解壓的示例代碼
這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)多層級(jí)zip解壓的相關(guān)知識(shí),文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,有需要的小伙伴可以參考一下2024-12-12
MybatisPlus更新為null的字段及自定義sql注入
mybatis-plus在執(zhí)行更新操作,當(dāng)更新字段為空字符串或者null的則不會(huì)執(zhí)行更新,本文主要介紹了MybatisPlus更新為null的字段及自定義sql注入,感興趣的可以了解一下2024-05-05
java警告:源發(fā)行版17 需要目標(biāo)發(fā)行版17問題及解決
文章介紹了如何解決項(xiàng)目JDK版本不一致的問題,包括修改Project Structure、Modules、Dependencies和Settings中的JDK版本,以及在pom.xml中指定JDK源版本2024-11-11

