Mybatis Executor的原始执行方式代码示例如何实现?
- 内容介绍
- 文章标签
- 相关推荐
本文共计373个文字,预计阅读时间需要2分钟。
通过SqlSessionFactory创建SqlSession,再由SqlSession获取Session对象,然后通过Session中的Executor执行MapperStatement封装的SQL语句。
java@Testpublic void findAll() throws IOException { // 1. 读取配置文件 String resource=config.xml; InputStream inputStream=Resources.getResourceAsStream(resource); SqlSessionFactory sqlSessionFactory=new SqlSessionFactoryBuilder().build(inputStream);
// 2. 获取SqlSession SqlSession sqlSession=sqlSessionFactory.openSession();
// 3. 获取Mapper接口的代理对象 YourMapper mapper=sqlSession.getMapper(YourMapper.class);
// 4. 执行查询 List list=mapper.findAll();
// 5. 处理结果 for (YourEntity entity : list) { System.out.println(entity); }
// 6. 关闭SqlSession sqlSession.close();}
一、通过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
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持易盾网络。
本文共计373个文字,预计阅读时间需要2分钟。
通过SqlSessionFactory创建SqlSession,再由SqlSession获取Session对象,然后通过Session中的Executor执行MapperStatement封装的SQL语句。
java@Testpublic void findAll() throws IOException { // 1. 读取配置文件 String resource=config.xml; InputStream inputStream=Resources.getResourceAsStream(resource); SqlSessionFactory sqlSessionFactory=new SqlSessionFactoryBuilder().build(inputStream);
// 2. 获取SqlSession SqlSession sqlSession=sqlSessionFactory.openSession();
// 3. 获取Mapper接口的代理对象 YourMapper mapper=sqlSession.getMapper(YourMapper.class);
// 4. 执行查询 List list=mapper.findAll();
// 5. 处理结果 for (YourEntity entity : list) { System.out.println(entity); }
// 6. 关闭SqlSession sqlSession.close();}
一、通过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
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持易盾网络。

