- 加载mybatis全局配置文件(数据源、mapper映射文件等),解析配置文件。
Mybatis基于XML配置文件生成Configuration和一个个MapperStatement(包含参数映射配置、动态sql语句、结果映射配置),其对应着select、update、delete、insert标签项。 - SqlSessionFactoryBuilder通过Configuration对象生成SqlSessionFactory,用来开启SqlSession。
- SqlSession对象完成与数据库的交互:
- 用户调用mybatis接口层api(也就是dao接口中的方法)
- SqlSession通过调用的api的Statement ID找到对应的MapperStatement对象
- 通过Executor(负责动态SQL的生成和查询缓存的维护)对MapperStatement对象进行解析,sql参数转化,动态sql拼接、生成jdbc Statement对象
- JDBC执行sql
- 借助MapperStatement中的结果映射关系,将返回结果转化成HashMap、JavaBean等存储结构并返回。
Mybatis工作原理和流程
最新推荐文章于 2024-04-27 14:07:37 发布