1.1Hibernate简介及与传统连接方式对比

来源:互联网 发布:pk10免费计划软件 编辑:程序博客网 时间:2024/06/07 10:22

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)大量的延迟加载,可以有效提高程序的响应速度。