Mybatis框架在操作数据库时,大体经过了8个步骤
1. 读取mybatis配置文件mybatis-config.xml。mybatis-config.xml作为mybatis的全局配置文件,配置了mybatis的运行环境等信息,其中主要内容是获取数据库连接。
2. 加载映射文件mapper.xml,mapper.xml文件即sql的映射文件,该文件中配置了操作数据库的sql语句,需要在mybatis-config.xml中加载才能执行。mybatis-config.xml可以加载多个映射文件,每个映射文件对应数据库中的一张表。
3. 构建会话工厂。通过mybatis的环境等配置信息构建会话工厂sqlSessionFactory。
4. 创建SqlSession对象。由会话工厂创建sqlSession对象,该对象包含了执行sql的所有方法。
5. mybatis底层定义了一个Executor接口来操作数据库,它会根据sqlSession传递的参数动态的生成需要执行的sql语句,同时负责查询缓存的维护。
6. 在Executor接口的执行方法中,包含一个MapperStatement类型的参数,该参数是对映射信息的封装,用来存储要映射的sql语句的id、参数等。Mapper.xml文件中一个sql对应一个mapperStatement对象,sql的id即是mapperStatement的id。
7. 输入参数映射。在执行方法时,mapperStatement对象会对用户执行sql语句的输入参数进行定义,Executor执行器会通过mapperStatement对象在执行sql前,将输入的Java对象映射到sql语句中。
8. 输出结果映射。在数据库执行完sql语句后,mapperstatement对象会对sql执行输出的结果进行定义,Executor执行器会通过MapperStatement对象在执行sql语句后,将输出结果映射至Java对象中。