当前位置 : 主页 > 编程语言 > java >

Mybatis原始执行方式Executor代码实例

来源:互联网 收集:自由互联 发布时间:2021-04-30
一、通过SqlSessionFactory创建sqlsession,再由Sqlsession获取session对象,然后通过session中的执行器Executor,去执行MapperStatement封装的sql语句 @Testpublic void findAll() throws IOException { //1.读取配置文件

一、通过SqlSessionFactory创建sqlsession,再由Sqlsession获取session对象,然后通过session中的执行器Executor,去执行MapperStatement封装的sql语句

@Test
public void findAll() throws IOException {
 //1.读取配置文件
 InputStream in = Resources.getResourceAsStream("SqlMapConfig.xml");
 //2.创建 SqlSessionFactory 的构建者对象
 SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
 //3.使用构建者创建工厂对象 SqlSessionFactory
 SqlSessionFactory factory = builder.build(in);
 //4.使用 SqlSessionFactory 生产 SqlSession 对象
 SqlSession session = factory.openSession();

 List<User> users = session.selectList("findAll");
  /*
  //5.使用 SqlSession 创建 dao 接口的代理对象(接口绑定原理使用的jdk动态代理)
  UserDao userDao = session.getMapper(UserDao.class);
  //6.使用代理对象执行查询所有方法
  List<User> users = userDao.findAll();
  */
 for (User user : users) {
  System.out.println(user);
 }
 //7.释放资源
 session.close();
 in.close();
}

二、执行器Executor的分类

  •  SimpleExecutor:默认的Executor,每个SQL执行时都会创建新的 Statement,继承了
  • BaseExecutor
  • CachingExecutor:可缓存数据的Executor,用于二级缓存的执行器
  • BatchExecutor:用于批处理的Executor
  • ReuseExecutor:相同的SQL会服用的Statemen

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持易盾网络。

网友评论