Mybatis源码解析(四) —— SqlSession是如何实现数据库操作的?
Mybatis源码解析(四) —— SqlSession是如何实现数据库操作的? 如果拿一次数据库请求操作做比喻,那么前面3篇文章就是在做请求准备,真正执行操作的是本篇文章要讲述的内容。正如标题一样,本篇文章最最核心的要点就是 SqlSession实现数据库操作的源码解析。但按照惯例,我这边依然列出如下的问题: 1、 SqlSession 是如何被创建的? 每次的数据库操作都会创建一个新的SqlSession么?(也许有很多同学会说SqlSession是通过 SqlSessionFactory.openSession() 创建,但这个答案按照10分制顶多给5分) 2、 SqlSession与事务(Transaction)之间的关系? 在同一个方法中,Mybatis多次请求数据库,是否要创建多个SqlSession? 3、 SqlSession是如何实现数据库操作的? 本章内容就是围绕着上面三个问题进行解析,那么带着问题去看源码吧! 一、SqlSession 的创建 在学习Mybatis时,我们常常看到的 SqlSession 创建方式是 SqlSessionFactory.openSession() ,那么我们就拿此作为切入点,先来看看 SqlSessionFactory.openSession() 的方法源码(注意 是