Mybatis工作流程

Mybatis是目前非常流行的ORM(Object Relational Mapping)框架,本文主要简单梳理一下Mybatis的工作流程。

1.加载配置文件

Mybatis的配置文件一共有两类:

  • 一类是用于指定数据源,事务属性以及其他一些参数配置信息的全局配置文件
  • 另一类是用于指定数据库表和程序之间的映射文件

加载到内存中会生成一个对应的MappedStatement对象,然后会以key="selectId" ,value为MappedStatement对象的形式维护到Configuration的一个Map中。当以后需要使用的时候,只需要通过Id值来获取就可以了。

2.产生sqlSession

根据配置文件创建SQLSessionFactory,再由工厂产生sqlSession,SqlSession根据Statement ID, 在mybatis配置对象Configuration中获取到对应的MappedStatement对象,然后调用mybatis执行器来执行具体的操作。使用Mapper方式操作sql,利用的是动态代理,不用实现mapper接口,通过接口中的方法名来查找到对应的方法名

3.MyBatis执行器Executor根据SqlSession传递的参数执行query()方法

Executor.query()方法几经转折,最后会创建一个StatementHandler对象,然后将必要的参数传递给StatementHandler,使用StatementHandler来完成对数据库的查询,最终返回List结果集。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 在美国有这样一位牛人叫Elon Musk。他创办了互联网公司zip2,接着创办了PayPal(贝宝),创办了特斯拉...
    Hi祥阅读 6,159评论 0 5
  • 《 一生所爱》从前现在过去了再不来红红落叶长埋尘土内开始终结总是没变改天边的你飘泊白云外苦海翻起爱恨在世间难逃避命...
    莫那一鲁道阅读 6,961评论 8 8
  • “阅读和旅行是成长的最大能源。成长要深,也要广,阅读让你深,旅行使你广。读万卷书,不行万里路,如井中观天,眼界有限...
    若水柳柳柳阅读 2,953评论 0 0
  • 请你远离我 要么就 贴近心脏、擒住几个 纠缠不清的思想 蓝 是你、还是谁? 坐在海床上 看白闪闪的塑料袋向太阳荡去...
    月亮上班了阅读 1,238评论 0 0
  • android7.0已经出来有一段时间,确切的说是7.1已经出来有些时间了,我们开始把7.0的适配提上了日程,适配...
    ztzt123阅读 3,738评论 0 0

友情链接更多精彩内容