MyBatis 执行流程是怎样的?

MyBatis 的执行流程主要包含以下步骤:

  1. 加载 MyBatis 配置文件:首先,MyBatis 会加载配置文件,包括 mybatis-config.xml 主配置文件和各个 Mapper 配置文件。这些配置文件中包含了数据源、事务管理器、类型别名、类型处理器等配置信息,以及具体的 SQL 语句和映射信息。

  2. 创建 SqlSessionFactory:通过读取配置信息,MyBatis 会创建一个 SqlSessionFactory 对象。SqlSessionFactory 是一个重量级对象,它的创建和销毁成本都比较高,一般在应用启动时初始化一次,然后在整个应用运行期间都可以使用。

  3. 获取 SqlSession:当需要进行数据库操作时,从 SqlSessionFactory 中获取一个 SqlSession 对象。SqlSession 是一个轻量级对象,它的生命周期通常与一个业务请求相对应,请求处理完毕后就应该关闭。

  4. 执行 SQL:通过 SqlSession 执行 Mapper 配置文件中定义的 SQL 语句。SQL 的执行可能涉及到参数处理、结果集映射等操作。

  5. 事务处理:如果 SQL 执行过程中没有发生异常,那么提交事务;如果发生了异常,那么回滚事务。

  6. 关闭 SqlSession:无论 SQL 执行成功与否,最后都需要关闭 SqlSession

这是 MyBatis 的基本执行流程。需要注意的是,这个流程可能会因为使用了一些高级特性(如插件、二级缓存等)而有所变化。

发表评论

后才能评论