Java教程

初始Hibernate框架

本文主要是介绍初始Hibernate框架,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

 

Hibernate(全自动化)

Hibernate是一种主流持久化ORM框架Object Relation Mapping对象关系映射,将面向对象映射成面向关系。解决持久化操作,使得程序员可以从编写繁复的JDBC工作中解放出来,专注于业务,提高程序员开发效率;并且具有可靠的移植性。

(MyBatis是一个半自动化的ORM框架)

持久化

持久,即把数据(如内存中的对象)保存到可永久保存的存储设备中(如磁盘)。

持久化的主要应用是将内存中的数据存储在关系型的数据库中,当然也可以存储在磁盘文件中,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对象交给程序员去实现业务逻辑,使持久层与数据库层清晰分界。

    追求的是高内聚,低耦合。

这篇关于初始Hibernate框架的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!