【MyBayis】MyBayis详解(1)ORM
一、什么是ORM?
ORM:(Object/Relation Mapping):对象/关系映射
它的作用是在关系型数据库和对象之间作一个映射,这样,我们在具体的操作数据库的时候,就不需要再去和复杂的SQL语句打交道,只要像平时操作对象一样操作它就可以了 。
为什么要用ORM?
以MVC模式举例,MVC 中的 Model 包含了复杂的业务逻辑和数据逻辑,以及数据存取机制(如 JDBC的连接、SQL生成和Statement创建、还有ResultSet结果集的读取等)将这些复杂的业务逻辑和数据逻辑分离,以将系统的紧耦合关系转化为松耦合关系,是降低系统耦合度迫切要做的,也是持久化要做的工作。MVC 模式实现了架构上将表现层和数据处理层分离的解耦合,而持久化的设计则实现了数据处理层内部的业务逻辑和数据逻辑分离的解耦合。
ORM方法论基于三个核心原则:
- 简单:以最基本的形式建模数据
- 传达性:数据库结构被任何人都能理解的语言文档化
- 精确性:基于数据模型创建正确标准化的结构
基于以上三个核心原则提供了概念性的、易于理解的模型化数据的方法。
二、流行的ORM框架
Mybatis简介
MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。2013年11月迁移到Github。
MyBatis特点如下:
- 简单:本身就很小且简单、没有任何第三方依赖,最简单安装只要两个jar文件+配置几个sql映射文件易于学习,易于使用,通过文档和源代码,可以比较完全的掌握它的设计思路和实现。
- 灵活:mybatis不会对应用程序或者数据库的现有设计强加任何影响。sql写在xml里,便于统一管理和优化。通过sql语句可以满足操作数据库的所有需求。
- 解耦:通过提供DAO层,将业务逻辑和数据访问逻辑分离,使系统的设计更清晰,更易维护,更易单元测试。sql和代码的分离,提高了可维护性。
- 完善:提供映射标签,支持对象与数据库的ORM字段关系映射。提供对象关系映射标签,支持对象关系组建维护。提供xml标签,支持编写动态sql。
- 高效:支持两级缓存,提高查询效率。