生命周期在MyBatis之中是一个不能忽略的问题,在互联网应用的时代,多线程环境无处不在,所以MyBatis的也经常用于多线程环境中,如果错误的使用将会造成严重的多线程并发问题,导致系统的完全崩溃!
那么什么是生命周期呢?广义上来讲,生命周期就是指一个对象的生老病死(这个对象可以指代很多事物)。在 java 的世界里,我们用完一个对象时,或者说要关闭时,这个对象将被 JVM (java虚拟机)销毁,从而避免继续占用资源,合理的创建、使用、销毁对象对于一个程序来说是非常重要的!
本文中小编列出了4个MyBatis的核心组件(如需了解详情请阅读上一篇文章(二)MyBatis核心组件)
SqlSessionFactoryBuilder(构造器)
SqlSessionFactory(工厂接口)
Sqlsession(会话)
SQL Mapper(映射器)
mybatis的工作流程1(生命周期、执行顺序)
1. 首先加载mybatis-config.xml总配置文件,根据development的参数配置连接数据库;查询mappers映射关系,找到mapper.xml配置文件
2. 执行mapper.xml文件,该文件记录了运行SQL;准备id的名字等待被调用
3. TestMain 生成SqlSessionFactory工厂对象
4. 由工厂对象生成SqlSession,然后打开连接数据库连接通道
5. 对应调用mapper.xml文件中的id,执行mapper.xml中SQL语句
6. 关闭SqlSession
执行mapper.xml文件,该文件记录了运行SQL;准备id的名字等待被调用。
Testmain(也就是自己的测试类)生成SqlSessionFactory工厂对象。
由工厂对象生成SqlSession,然后打开连接数据库连接通道。
对应调用mapper.xml文件中的id,执行mapper.xml中SQL语句。
关闭SqlSession