Hibernate框架初识

Hibernate是什么

Hibernate是一款优秀的持久化ORM框架;解决持久化操作,使得程序员可以从编写繁复的JDBC工作中解放出来,专注于业务,提高程序开发效率;并且具有可靠的移植性,降低了系统的耦合度

持久化

持久化(Persistence),即把数据(如内存中的对象)保持到可以永久保存的存储设备中(如硬盘);
持久化的主要应用是将内存中的数据储存到关系型数据库中,当然也可以储存到磁盘文件中、xml数据文件中等;Hibernate当中叫做加载。
1.狭义概念:数据储存在物理介质不会丢失
2.广义概念:对数据的CRUD操作都叫做持久化
3.加载:Hibernate的概念是数据从数据库加载到session中

ORM

O(OBject),R(Relation),M(Mapping),顾名思义就是对象(JavaBean)关系(关系型数据库)映射。它的作用是在关系型数据库和对象之间做一个映射。这样,我们在具体的操作数据库的时候,就不需要再去和复杂的SQL语句打交道,只要像平时操作对象一样操作它就行了。

对象数据库
类名表名
类的实例表中的一条记录
类的属性表的字段
public class User implements Serializable {
	private Integer id;
	private String username;
	private String password;
	// get, set, 构造器...
}
User user = new User(1, "张三", "111");
create table USER(
	ID NUMBER(4) PRIMARY KEY,
	USERNAME VARCHAR2(10),
	PASSWORD VARCHAR2(8)
);

为什么要做持久化和ORM设计

代码复杂

用JDBC的API编程访问数据库,代码量较大,特别是访问字段较多的表的时候,代码显得繁琐、累赘,容易出错,程序员需要耗费大量的时间、精力去编写具体的数据库访问的SQL语句,还要十分小心其中大量重复的源代码是否有疏漏,并不能集中精力于业务逻辑开发上面。ORM则建立了Java对象与数据库对象之间的影射关系,程序员不需要编写复杂的SQL语句,直接操作Java对象即可,从而大大降低了代码量,也使程序员更加专注于业务逻辑的实现。

数据库连接问题

采用JDBC编程,必须保证各种关系数据之间不能出错,极其痛苦;ORM建立Java对象与数据库对象关系影射的同时,也自动根据数据库对象之间的关系创建Java对象的关系,并且提供了维持这些关系完整、有效的机制。

耦合度

JDBC属于数据访问层,但是使用JDBC编程时,程序员必须知道后台是用什么数据库、有哪些表、各个表有哪些字段、各个字段的类型是什么、表与表之间什么关系、创建了什么索引等等与后台数据库相关的详细信息。相当于软件程序员兼职数据库DBA。使用ORM技术,可以将数据库层完全隐蔽,呈献给程序员的只有Java的对象,程序员只需要根据业务逻辑的需要调用Java对象的Getter和 Setter方法,即可实现对后台数据库的操作,程序员不必知道后台采用什么数据库、有哪些表、有什么字段、表与表之间有什么关系。于是,系统设计人员把ORM搭建好后,把Java对象交给程序员去实现业务逻辑,使持久层与数据库层清晰分界。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值