Java是一种面向对象的编程语言,而数据库则是【面向关系】的一种数据管理系统。ORM就是负责对象和关系的映射,直接操作对象,就能够把所有的操作自动化映射到关系数据库。基本上所有的ORM实现,都能够支持【自动根据对象的结构创建表结构】。
1、JDBC
连接三部曲:
加载驱动、设置参数连接参数
获取连接
创建Statement,执行SQL语句
每次要操作数据库的时候,如果SQL语句有很多的参数,需要一个个set进去
2、MyBatis是一个半自动化的ORM
1.配置mybatis-config.xml
2.每个业务领域模型(domain、pojo),都必须要有 Mapper.xml 手动映射
3.创建 SqlSessionFactory,获取SqlSession
配置的时候,比JDBC更复杂,只是不需要写重复代码,配置好以后可以重复使用。
3、JPA还没有出现之前,ORM(Object RelationMapping)有:EJB的实体Bean、TopLink(EclipseLink)、Hibernate。
其中EJB的实体Bean,后来就演进为JPA。因为JPA是官方的规范,包括EclipseLink、Hibernate等框架都实现、扩展了JPA。
实际上JPA就是参考Hibernate来改进EJB(Enterprise JavaBean)的。早期的时候,Hibernate就是为了代替EJB的实体Bean,后来Java的官方规范里面,吸收了企业里面常见的业务、Hibernate的优势,推出了JPA规范。
Hibernate简介
1、是一个全自动的ORM工具(框架);
(1) 支持一级缓存、二级缓存;
(2)支持分布式、负载均衡;
(3) 可以灵活扩展。
2、目的/好处:
(1)不写SQL语句。
(2)不拼接SQL字符串,复杂查询通过对象查询来实现,使用JDBC操作数据库,通常需要拼接SQL字符串。
(3)使用缓存避免表关联查询,查询数据的时候,如果有表关联查询,性能会显著下降。
(4)不需要写重复的get、set方法,避免了大量的重复代码!
(5)大量的延迟加载,可以有效提高程序的响应速度。
本文介绍了Java中几种常用的ORM框架,包括JDBC、MyBatis及Hibernate等,并详细对比了它们的特点和优势,如自动表结构创建、缓存支持、分布式与负载均衡能力等。
844

被折叠的 条评论
为什么被折叠?



