讲师简介:
Lison
国防科技大学联合创新研究中心 3 years
金蝶中间件有限公司 6 years
复旦大学工程硕士,专注技术十年,产品控、代码控,拥有丰富的项目经验,主持研发了多个成功上线的大型互联网项目。热爱互联网,热衷于各种web技术,精通JAVA、J2EE和前端开发,擅长互联网高并发、高可靠架构设计,有丰富的实战经验。愿意和他人分享自己对技术的理解和感悟,讲课逻辑清晰,生动幽默。
![13467292-63dfc358693e8647](https://img-blog.csdnimg.cn/img_convert/596b2011b35439429c2305e0647824bb.png)
课程顺序:
![13467292-0cff3c001f3c9643](https://img-blog.csdnimg.cn/img_convert/f52de814c012e962558a771a207270b2.png)
mybatis概述:
Mybatis本质是一种半自动的ORM框架,前身是iBatis,其源于“Internet”和“abatis”的组合,除了
POJO和映射关系之外,还需要编写SQL语句;
![13467292-a45f2b49a91b0e15](https://img-blog.csdnimg.cn/img_convert/862efbd2cebe5e4ef7399fb170391af6.png)
Mybatis快速入门:
![13467292-cf4c9336bfe65e27](https://img-blog.csdnimg.cn/img_convert/56976231d20a7f6cec222834ca140d53.png)
MyBatis核心流程三大阶段:
![13467292-e352030a6175f8cd](https://img-blog.csdnimg.cn/img_convert/a61e127fc959bfd41d3db24757672b70.png)
手写mybatis:
初始化阶段:
![13467292-a174fbd826441166](https://img-blog.csdnimg.cn/img_convert/209644e34d1495fc2ccae1ea5d3b01bc.png)
话说SqlSession:
![13467292-a813ba05d7332398](https://img-blog.csdnimg.cn/img_convert/314142eece4bec53c1bd6715edfcb8c8.png)
值得思考的一个问题:
![13467292-df3625ca133e0f76](https://img-blog.csdnimg.cn/img_convert/73e3fd639408141d170464b28a3f0d46.png)
为什么要有代理阶段?
![13467292-9040208e909fb757](https://img-blog.csdnimg.cn/img_convert/ea1fbaeda15cd13c125480a06e08de55.png)
Executor组件分析:
![13467292-5eee22e3ff1ceb4c](https://img-blog.csdnimg.cn/img_convert/721e220b063a56bc17837735bf445543.png)
简化版Mybatis实现
![13467292-52fdaf526672a99f](https://img-blog.csdnimg.cn/img_convert/4416ad8e923280497a032f5a65655289.png)
论程序员的修身之道
![13467292-0938f77b352ee051](https://img-blog.csdnimg.cn/img_convert/96ddc168b79fe4432fba0103f139cd69.png)
互联网架构树:
我们应该学什么?
![13467292-fa45e721edec923c](https://img-blog.csdnimg.cn/img_convert/54f8772f23f483f958e222b8ffe65505.png)
比你优秀对手在学习,你的仇人在磨刀,你的闺蜜在减肥,隔壁老王在练腰,我们必须不断学习,否则我们将被学习者超越
纯手写mybatis(注解版)
项目结构图
![13467292-fbf4d2e96973428f](https://img-blog.csdnimg.cn/img_convert/ce63b5a5ccc947967086b007bd9805de.png)
定义查询和插入接口,这里采用注解方式。
![13467292-34eca7b7410f81b2](https://img-blog.csdnimg.cn/img_convert/6dbc658fb169cb7bfa3a7e9b8e6c892d.png)
定义一个SqlSession,采用动态代理来生成UserMapper接口的代理对象,待会要传入InvocationHandler的实现类。
![13467292-4987dafb02406be2](https://img-blog.csdnimg.cn/img_convert/ae4c8565e7be056e8fbf7bf237008f2a.png)
定义UserMapperInvocationHandler实现InvocationHandler,mybatis的主要逻辑就是在这个类实现的。
![13467292-6b57bf61ac8e08d5](https://img-blog.csdnimg.cn/img_convert/f29e6438cb6f9d717ec4e954db8499ac.png)
其中包含一些参数的绑定
![13467292-f4ace907bf5d56e9](https://img-blog.csdnimg.cn/img_convert/d41e11c3a5031cc62382a6031614673e.png)
最后调用jdbc底层代码来执行sql语句。
解析视频资料获取方式
加群即可获取 群号:923116658
点击链接加入群聊【Java架构解析】:https://jq.qq.com/?_wv=1027&k=5e1QsXb