一、通过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
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持自学编程网。
- 本文固定链接: https://zxbcw.cn/post/190820/
- 转载请注明:必须在正文中标注并保留原文链接
- QQ群: PHP高手阵营官方总群(344148542)
- QQ群: Yii2.0开发(304864863)