87 | 开源实战五(上):MyBatis如何权衡易用性、性能和灵活性?
王争
该思维导图由 AI 生成,仅供参考
上几节课我们讲到了 Spring 框架,剖析了背后蕴含的一些通用设计思想,以及用到的十几种设计模式。从今天开始,我们再剖析另外一个 Java 项目开发中经常用到的框架:MyBatis。因为内容比较多,同样,我们也分三节课来讲解。
第一节课,我们分析 MyBatis 如何权衡代码的易用性、性能和灵活性。
第二节课,我们学习如何利用职责链与代理模式实现 MyBatis Plugin。
第三节课,我们总结罗列一下 MyBatis 框架中用到的十几种设计模式。
话不多说,让我们正式开始今天的学习吧!
Mybatis 和 ORM 框架介绍
熟悉 Java 的同学应该知道,MyBatis 是一个 ORM(Object Relational Mapping,对象 - 关系映射)框架。ORM 框架主要是根据类和数据库表之间的映射关系,帮助程序员自动实现对象与数据库中数据之间的互相转化。说得更具体点就是,ORM 负责将程序中的对象存储到数据库中、将数据库中的数据转化为程序中的对象。实际上,Java 中的 ORM 框架有很多,除了刚刚提到的 MyBatis 之外,还有 Hibernate、TopLink 等。
在剖析 Spring 框架的时候,我们讲到,如果用一句话来总结框架作用的话,那就是简化开发。MyBatis 框架也不例外。它简化的是数据库方面的开发。那 MyBatis 是如何简化数据库开发的呢?我们结合第 59 讲中的 JdbcTemplate 的例子来说明一下。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
MyBatis框架在权衡易用性、性能和灵活性方面的设计思想和实现方式。文章介绍了MyBatis作为ORM框架的基本概念和作用,以及与其他框架的对比。通过示例代码展示了MyBatis相对于JdbcTemplate的灵活性和易用性,以及MyBatis的配置文件和映射关系的设计原则。对比了JdbcTemplate、Hibernate和MyBatis在易用性、性能和灵活性方面的特点,指出了框架的易用性和性能之间的对立关系。总结了MyBatis在三个方面的权衡,认为MyBatis在易用性、性能和灵活性之间取得了平衡,支持程序员自己编写SQL,延续了程序员对SQL知识的积累,提供了半透明的框架,得到了程序员的青睐。文章通过对MyBatis框架的介绍和对比分析,深入探讨了框架设计中的权衡取舍,为读者提供了对MyBatis框架的全面了解和技术特点的把握。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《设计模式之美》,新⼈⾸单¥98
《设计模式之美》,新⼈⾸单¥98
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(25)
- 最新
- 精选
- ,工作中做过一些c++的东西,做起来相当复杂,每引入一个第三方类库,都要自己去github上找,找到再clone下来,打包,才能引入,模板编程面向对象面向过程基于对象函数式,眼花缭乱,指针引用const傻傻分不清楚,cmake打包异常,只有求助大佬才能维持生活 做java就像回家一样,做开发有spring全家桶,打包部署有maven,在csdn比家里感觉好多了,里面各个是人才,说话又好听,只需要CTRL C V就能完成工作,我超喜欢里面的!2020-05-22269
- Demon.Lee易用性:Hibernate > MyBatis > JdbcTemplate 性能:JdbcTemplate > MyBatis > Hibernate 灵活性:MyBatis > JdbcTemplate > Hibernate2020-05-2232
- 寒溪netty是个反例,兼顾易用性和性能。2020-05-22224
- Mondaymybatis系列 1、mybatis plus 作用如其名,mybatis增强功能封装好了一些crud的方法 2、mybatis-generator自动生成器,自动生成实体、mapper、Mapper.xml等 3、mybatis分页插件PageHelper,无需关心分页的问题2020-05-22122
- L🚲🐱Mybatis Plus 可以说是 大大的提高了 Mybatis 的使用效率2020-06-01114
- 君哥聊技术比如做限流的时候可以直接使用guava中的限流器2020-05-227
- Amon Tinjooq,试用了一年多了,非常好用,把SQL语法换成了select().from().where().and()这类的Java语法,同时也支持直接写SQL,orm的定义和映射关系也可以根据表结构自动生成,性能可匹敌mybatis,易用性不比hibernate差,可读性比上面两个都强,实乃新一代orm框架之王2021-07-016
- 子豪siriusmybatis可以让开发人员自己写SQL,相比hibernate给了更多控制权。不过在实际开发中有个问题,有些开发人员会写很复杂的SQL,美其名曰是性能更好,但实际性能提升多少,不清楚;反而因为SQL写得巨长巨复杂,带来了阅读困难、调试和查错不便等等问题。明明这部分代码用Java写,业务逻辑是更清晰的~2020-05-2285
- testSpringCloud全家桶2020-05-2225
- 我是曾经那个少年1: Spring Boot技术栈,集成外部框架方便。 2:Spring Cloud Alibaba 微服务的技术组件基本够用。 3:hutool工具类方便好用。该有的都有。 4:Mybatis-Plus 避免了最简单的增删改查的实现,以及数据库主键自增,数据字段填充,多数据源的支持。2021-12-123
收起评论