【未来虫教育】MyBatis 是一个什么框架
2025-03-03
mybatis 是一个工作在 Java 持久层的框架,是一个 SQL 映射框架,也就是在 SQL 语句和 Java 代码之间建立映射关系。因为绝大多数 Java 程序员的编程习惯都是使用 Java API 这对他们来说是最最熟悉的领域。所以 MyBatis 并不是一个 ORM (Object Relational Mapping)框架,从 ORM 这个名词中可以看出来这里面压根就没有 SQL 的存在,也就是要故意的让开发人员忽略掉 SQL ,而只需要去关注 Object 和 关系型数据库之间关联关系,当然了不可避免的 SQL 是 Java API 和 关系型数据库之间沟通的一个桥梁,ORM 做的事情就是它为你完全自动化的解决了这个过程。
mybatis 的关注点在 SQL 和 Java API 之间的映射上,这是它的设计目的和原则,它将 SQL 和 Java API 分离开来,目的是不让大量的 SQL 污染了你的 Java 代码(当然如果你见过那种 SQL 语句充斥在不同的类中的代码你就知道我在说什么了)。它对查询到的关系型数据进行了全自动的映射为 Object , 可能是基于这点有人说它是半个 ORM 框架,从这个观点上来看也有点道理。(我个人认为类似这样的文字游戏不必太关心,还是把关注点放在技术本身,它有哪些功能,利用它我们可以做什么上)。