![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
MyBatis
文章平均质量分 94
Ssssongsmith 奕飞
这个作者很懒,什么都没留下…
展开
-
MyBatis 使用了哪些设计模式?在源码中是如何体现的?
MyBatis 的前身是 IBatis,IBatis 是由 Internet 和 Abatis 组合而成,其目的是想当做互联网的篱笆墙,围绕着数据库提供持久化服务的一个框架,2010 年正式改名为 MyBatis。它是一款优秀的持久层框架,支持自定义 SQL、存储过程及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作,还可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Ordinary Java Object,普通 Java原创 2021-03-21 14:22:06 · 352 阅读 · 0 评论 -
-日志框架千千万,MyBatis 都能兼容的秘密是什么?
Apache Commons Logging、Log4j、Log4j2、java.util.logging 等是 Java 开发中常用的几款日志框架,这些日志框架来源于不同的开源组织,给用户暴露的接口也有很多不同之处,所以很多开源框架会自己定义一套统一的日志接口,兼容上述第三方日志框架,供上层使用。一般实现的方式是使用适配器模式,将各个第三方日志框架接口转换为框架内部自定义的日志接口。MyBatis 也提供了类似的实现。适配器模式适配器模式主要解决的是由于接口不能兼容而导致类无法使用的问题,这在处理遗原创 2021-03-04 23:20:30 · 185 阅读 · 0 评论 -
MyBatis 反射工具箱、反射设计思
反射是 Java 世界中非常强大、非常灵活的一种机制。在面向对象的 Java 语言中,我们只能按照 public、private 等关键字的规范去访问一个 Java 对象的属性和方法,但反射机制可以让我们在运行时拿到任何 Java 对象的属性或方法。有人说反射打破了类的封装性,破坏了我们的面向对象思维,我倒不这么认为。我觉得正是由于 Java 的反射机制,解决了很多面向对象无法解决的问题,才受到众多 Java 开源框架的青睐,也出现了有很多惊艳的反射实践,当然,这也包括 MyBatis 中的反射工具箱。原创 2021-03-03 23:49:54 · 225 阅读 · 0 评论 -
-MyBatis 源码环境搭建及整体架构解析
在上次,我通过一个订单系统的示例,展示了 MyBatis 在实践项目中的基本使用,以帮助你快速上手使用 MyBatis 框架。在这次,我就来带你搭建 MyBatis 源码调试的环境,并为你解析 MyBatis 的源码结构,这些都是在为后面的源码分析做铺垫。MySQL 安装与启动安装并启动一个关系型数据是调试 MyBatis 源码的基础。目前很多互联网公司都将 MySQL 作为首选数据库,所以这里我也就选用 MySQL 数据库来配合调试 MyBatis 源码下载 MySQL首先,从 MySQL 官网原创 2021-03-02 21:44:25 · 347 阅读 · 1 评论 -
常见持久层框架赏析,到底是什么让你选择 MyBatis?
在绝大多数在线应用场景中,数据是存储在关系型数据库中的,当然,有特殊要求的场景中,我们也会将其他持久化存储(如 ElasticSearch、HBase、MongoDB 等)作为辅助存储。但不可否认的是,关系型数据库凭借几十年的发展、生态积累、众多成功的案例,依然是互联网企业的核心存储。作为一个 Java 开发者,几乎天天与关系型数据库打交道,在生产环境中常用的关系型数据库产品有 SQL Server、MySQL、Oracle 等。在使用这些数据库产品的时候,基本上是如下思路:在写 Java 代码的过程中原创 2021-02-27 23:29:33 · 1584 阅读 · 0 评论 -
-订单系统持久层示例分析,20 分钟带你快速上手 MyBatis
在开始深入分析 MyBatis 核心架构以及具体代码实现之前,我先通过一个示例来帮助你快速了解 MyBatis 中的常见概念以及其基础使用方法。这里我会以一个简易订单系统的持久化层为例进行讲解,整体的讲解逻辑是这样的:首先介绍订单系统 domain 层的设计,了解如何将业务概念抽象成 Java 类;接下来介绍数据库表的设计,同时说明关系型的数据库表与面向对象模型的类之间的映射关系;随后介绍订单系统的 DAO 接口层,DAO 接口层是操作数据的最小化单元,也是读写数据库的地基;最后再简单提供了一个原创 2021-03-01 22:09:00 · 274 阅读 · 0 评论