Mybatis原始执行方式Executor代码实例
一、通过SqlSessionFactory创建sqlsession,再由Sqlsession获取session对象,然后通过session中的执行器Executor,去执行MapperStatement封装的sql语句
@Test
publicvoidfindAll()throwsIOException{
//1.读取配置文件
InputStreamin=Resources.getResourceAsStream("SqlMapConfig.xml");
//2.创建SqlSessionFactory的构建者对象
SqlSessionFactoryBuilderbuilder=newSqlSessionFactoryBuilder();
//3.使用构建者创建工厂对象SqlSessionFactory
SqlSessionFactoryfactory=builder.build(in);
//4.使用SqlSessionFactory生产SqlSession对象
SqlSessionsession=factory.openSession();
Listusers=session.selectList("findAll");
/*
//5.使用SqlSession创建dao接口的代理对象(接口绑定原理使用的jdk动态代理)
UserDaouserDao=session.getMapper(UserDao.class);
//6.使用代理对象执行查询所有方法
Listusers=userDao.findAll();
*/
for(Useruser:users){
System.out.println(user);
}
//7.释放资源
session.close();
in.close();
}
二、执行器Executor的分类
- SimpleExecutor:默认的Executor,每个SQL执行时都会创建新的Statement,继承了
- BaseExecutor
- CachingExecutor:可缓存数据的Executor,用于二级缓存的执行器
- BatchExecutor:用于批处理的Executor
- ReuseExecutor:相同的SQL会服用的Statemen
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。