首页 » 排名链接 » 面试官:谈谈Mybatis的启动过程(对象映射启动配置文件文件)

面试官:谈谈Mybatis的启动过程(对象映射启动配置文件文件)

少女玫瑰心 2024-11-03 00:27:12 0

扫一扫用手机浏览

文章目录 [+]

```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对象。

面试官:谈谈Mybatis的启动过程(对象映射启动配置文件文件) 排名链接
(图片来自网络侵删)

3. 创建SqlSession对象:SqlSession是MyBatis的会话对象,用于执行数据库操作。
在启动过程中,MyBatis会根据SqlSessionFactory对象,创建一个SqlSession对象。

4. 加载映射文件:映射文件是MyBatis的另一个重要配置,用于定义SQL语句与Java方法之间的映射关系。
在启动过程中,MyBatis会根据配置文件中的信息,加载映射文件。

5. 初始化Mapper接口:Mapper接口是用于执行SQL语句的Java接口,在启动过程中,MyBatis会根据映射文件中的信息,动态生成Mapper接口的实现类。

6. 完成启动:启动过程完成后,就可以使用SqlSession对象执行数据库操作了。

当然这块的过程相对还是比较简单的。
面试官可能会在这个基础上做相关的扩展。
可以结合下面分析

![image.png](https://fynotefile.oss-cn-zhangjiakou.aliyuncs.com/fynote/fyfile/1462/1708667401089/72a9ade4b47d4369836d6e5a45af261e.png)

也就是 `SqlSessionFactory`对象的构建和 `SqlSession`对象创建的核心过程。
已经具体的数据库操作的请求是如何实现的。
这块也是面试官比较感兴趣的内容。

SqlSessionFactory:全局配置文件的加载解析和映射文件的加载解析

SqlSession:相关的核心Executor和拦截器的实例化

Executor:处理具体的请求涉及到缓存处理。
分页扩展以及Sql解析和参数解析等

相关文章

女装(女装会员让你钻石营收)

·1、预存一定金额到会员卡中,可用于二次消费抵扣;·2、享受所有衣服的88折优惠;·3、邀请好友购买,可获得成交额的10%奖励;·...

排名链接 2024-12-07 阅读568 评论0