ORM 是 Object Relational Mapping 的缩写。
意思是对象关系映射,是对象和关系型数据库之间的数据交互问题的解决方案的一种规范。
概述:ORM框架实现的典型代表:MyBatis,Hibernate,Spring-Data-Jpa,Mybatis-Plus(mybatis的增强工具,简化开发,增强效率)。
实际项目开发过程中,都能够使用他们来实现快速的开发,而不用进行一系列繁琐的JDBC的书写、SQL的编写等等。
ORM 是一种双向数据交互技术,它不仅可以将对象中的数据存储到数据库中,也可以反过来将数据库中的数据信息映射到java对象属性中;
说明:关系型数据库和java对象之间的对应关系如下:
数据库 | java中类-对象 |
---|---|
表-table | 类-class |
表中的记录-record(即对应表数据的行信息) | 对象-object |
表中的字段-field(即对应表数据的列信息) | 属性-attribute |
例如,现在有一张 student表,它包含id,st_name,st_age,st_score,st_number等字段。也有一个名为Student的java 类,它包含id,stName,stAge,stCcore,stNumber等属性。即student表与java程序中的Student类相互对应,student表的字段信息对应Student类的属性字段
(id -> d,st_name - >stName,st_age -> stAge等)。
当我们需要把程序中新对象或者要修改的对象信息存储到数据库对应的表中时,不使用工具时,就得手动编写insert或者update语句,然后调用DaoUtil工具来执行进行持久化操作,但是使用ORM框架实现的工具时,只需要在XML配置文件或者注解中配置好对应的对象和数据库的映射关系,就可以自动生成SQL语句,不需要人为干预。具体使用需要看使用的对应的那个工具产品来开发;
总结
个人理解:ORM其实不是具体的框架,而是类似一种规范。就是说只要符合ORM规范工具都能实现java对象和数据库之间的关系映射和转换。在实际开发中,使用相应工具可以使常见的增删改查(CRUD)的SQL编写操作都可以交给对应工具来实现,提高开发效率,减少手动拼写SQL容易出现错误。