1. 什么是ORM?
ORM全称 Object/Relation Mapping,即对象/关系映射,它完成了面向对象语言到关系型数据库的映射,作用是把对持久化对象(POJO,Plain Old Java Object)的保存、修改、删除等操作转换成对数据库的操作,是两者间的桥梁。作为程序员可以在利用面向对象语言开发编程时又无需兼顾关系型数据库的复杂性。
持久化类会生成很多实例,每个实例对应数据表中的一行记录。
持久化类对象的属性对应数据表的列(字段)。
2. 常用的持久层框架(ORM框架)—Hibernate与Mybatis
Hibernate是一种全自动的开源ORM框架。它避免了JDBC那种把SQL语句写在Java代码中的高耦合硬编码的方式,目的在于消除Java代码中的SQL语句。因为会自动生成SQL并发送,所以开发人员甚至无需懂复杂的SQL语句。但同时也带来了一些问题,在大多数情况下,我们需要对SQL进行优化,需要定制SQL,以提高对数据库的操作效率,但Hibernate无法满足这一点,除非我们再深入学习一下HQL。所以半自动化的持久层框架Mybatis应运而生。
我们希望将SQL语句交给开发人员,从而不失去灵活性。在Mybatis框架中,SQL语句可以写在配置文件里,既实现了SQL与Java代码分离,又可以在不修改代码的情况下,在配置文件中修改SQL。Mybatis以SQL开发的工作量和数据库移植上的让步,为开发人员提供了更大的发挥空间,所以Mybatis是一个半自动,轻量级的ORM框架。