手写自己的MyBatis框架-操作流程
1、定義接口Mapper 和方法,用來(lái)調(diào)用數(shù)據(jù)庫(kù)操作。
Mapper 接口操作數(shù)據(jù)庫(kù)需要通過代理類。
2、定義配置類對(duì)象Configuration。
3、定義應(yīng)用層的API SqlSession。它有一個(gè)getMapper()方法,我們會(huì)從配置類Configuration 里面使用Proxy.newProxyInatance()拿到一個(gè)代理對(duì)象MapperProxy。
4、有了代理對(duì)象MapperProxy 之后,我們調(diào)用接口的任意方法,就是調(diào)用代理對(duì)象的invoke()方法。
5、代理對(duì)象MapperProxy 的invoke()方法調(diào)用了SqlSession 的selectOne()。
6、SqlSession 只是一個(gè)API,還不是真正的SQL 執(zhí)行者,所以接下來(lái)會(huì)調(diào)用執(zhí)行器Executor 的query()方法。
7、執(zhí)行器Executor 的query()方法里面就是對(duì)JDBC 底層的Statement 的封裝,最終實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的操作,和結(jié)果的返回。
基于我們總結(jié)的這個(gè)框架的主要工作流程,接下來(lái)我們就要?jiǎng)邮秩戇@個(gè)框架了。
我們先給它起個(gè)名字叫MeBatis。
?
總結(jié)
以上是生活随笔為你收集整理的手写自己的MyBatis框架-操作流程的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 手写自己的MyBatis框架-核心对象
- 下一篇: 手写自己的MyBatis框架-SqlSe