mybatis学习笔记之多角度分析mybatis框架的价值与实现

1.mybatis这个框架做了什么?

mybatis框架就是勤劳的快递小哥,每次你想吃外卖,想起他,就能帮你端过来食物。

以上是一个比较抽象的描述,具体来说就是,mybatis做了(封装jdbc连接以及操作数据库的事情,不用mybatis你每个操作数据库的行为都得首先写一串JDBC连接代码,然后对数据库的任何操作,你都得去使用最原始的API操作)。

 

2.mybatis的比其他的持久层框架好在哪里?

mybatis比hibenate灵活,因为mybatis有动态SQL;而且项目需要紧急变更的时候,可以考虑数据库方案(替换下映射的xml即可),无缝部署

 

3.如何实现一个mybatis?

第一个问题,已经描述了mybatis做的事情,重写就是把这个事情通过代码实现出来,只是写的没成熟版本的mybatis好。

mybatis的实现套路基本上可以总结为面向对象编程。把spring框架中关于mybatis的配置标签以及mapper.xml文件的配置解析为属性初始化给一个configuration对象,然后通过sqlSessionFactoryBuilder先生成sqlSessionFactory,最后依据每一次连接创建一个会话(sqlSession),通过这个会话的一些方法对sql 脚本进行修修剪剪,然后返回结果集给接口。

 

 

 

参考资料:

https://www.jianshu.com/p/2be7903e8158

posted @ 2019-09-05 20:10  带你走天涯  阅读(206)  评论(0编辑  收藏  举报