对象/关系 映射集成模块(Object Relational Mapping,简称ORM)
是通过使用描述对象和数据库之间映射的元数据,将面向对象语言程序中的对象自动持久化到关系数据库中。本质上就是将数据从一种形式转换到另外一种形式。 这也同时暗示着额外的执行开销;然而,如果ORM作为一种中间件实现,则会有很多机会做优化,而这些在手写的持久层并不存在。 更重要的是用于控制转换的元数据需要提供和管理;但是同样,这些花费要比维护手写的方案要少;而且就算是遵守ODMG规范的对象数据库依然需要类级别的元数据。转载自简书
简单的来说,就是我们的实体类和数据库映射。主要的框架有 Mybatis、Hibernate 等
Mybatis: 由用户自己写sql语句,存放在xml文件中,需要时通过mapper层进行调用。由于sql是自己编写的,所以开发时间比较长,而且
区别 | Mybatis | Hibernate(jpa) |
---|---|---|
sql生成方式 | 自己编写 | 根据方法自动生成 |
缺点 | 开发时间可能会比较长,需要花时间写sql,且更改数据库需要重新编辑,移植性较差 | 使用要求较高,复杂 |
优点 | 简单,上手容易,sql优化比较方便 | 数据库移植性较好,拥有日志系统 |