```java@Testpublic void start() throws Exception{ // 1. 加载全局配置文件 InputStream in = Resources.getResourceAsStream("mybatis-config.xml"); // 2.获取SqlSessionFactory // DefaultSqlSessionFactory SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(in); // 3.获取SqlSession对象 DefaultSqlSession Executor--> SimpleExecutor --> CachingExecutor --> 插件的逻辑植入 SqlSession sqlSession = factory.openSession(); // 4.通过sqlSession的API接口实现数据库操作 List<User> list = sqlSession.selectList("com.bobo.vip.mapper.UserMapper.selectUserById",2); for (User user : list) { System.out.println(user); } // 关闭会话 sqlSession.close();}```
具体的操作过程如下:
1. 加载配置文件:MyBatis的配置文件是一个XML文件,包含了数据库连接信息、映射文件的位置等配置信息。在启动过程中,MyBatis会读取并解析这个配置文件。
2. 创建SqlSessionFactory对象:SqlSessionFactory是MyBatis的核心对象,用于创建SqlSession对象。在启动过程中,MyBatis会根据配置文件中的信息,创建一个SqlSessionFactory对象。

3. 创建SqlSession对象:SqlSession是MyBatis的会话对象,用于执行数据库操作。在启动过程中,MyBatis会根据SqlSessionFactory对象,创建一个SqlSession对象。
4. 加载映射文件:映射文件是MyBatis的另一个重要配置,用于定义SQL语句与Java方法之间的映射关系。在启动过程中,MyBatis会根据配置文件中的信息,加载映射文件。
5. 初始化Mapper接口:Mapper接口是用于执行SQL语句的Java接口,在启动过程中,MyBatis会根据映射文件中的信息,动态生成Mapper接口的实现类。
6. 完成启动:启动过程完成后,就可以使用SqlSession对象执行数据库操作了。
当然这块的过程相对还是比较简单的。面试官可能会在这个基础上做相关的扩展。可以结合下面分析

也就是 `SqlSessionFactory`对象的构建和 `SqlSession`对象创建的核心过程。已经具体的数据库操作的请求是如何实现的。这块也是面试官比较感兴趣的内容。
SqlSessionFactory:全局配置文件的加载解析和映射文件的加载解析
SqlSession:相关的核心Executor和拦截器的实例化
Executor:处理具体的请求涉及到缓存处理。分页扩展以及Sql解析和参数解析等