【Hibernate】从0开始学Hibernate--001

一、Hibernate是什么?

(一)我们学习SSH框架,首先要知道什么是框架?

1.框架是用来提高开发效率的。2.框架中封装了已经完善的功能,当我们需要使用这些功能时,调用即可,不用再手动实现。3.框架可以理解成为一个半成品的项目,只需要学会使用它们即可。

(二)Hibernate框架是什么?

【Hibernate】从0开始学Hibernate--001

    在学习了MVC之后,我们熟悉的知道JSP/Html+servlet组成了Web层,在MVC向SSH转向时,Struts2代替了Servlet结合Jsp/Html共同组成Web层。而在Model层处理数据库数据信息的jdbc封装成的DUtils将会被此贴将要详细描述的Hibernate代替,来帮我们完成数据库的所有操作。Controller层继续由Service处理进行信息的判断与返回。Spring框架则是他解决的是业务逻辑层和其他各层的松耦合问题,因此它将面向接口的编程思想贯穿整个系统应用。所以管理项目中所有的对象,则由Spring完成。

(三)Hibernate有何优势?特点有什么?

HIbernate直接操作数据库,可以以Java编程的核心思想面向对象的方式来完成。不需要书写SQL语句。

Hibernate是一款ORM框架(object relationg mapping. 对象关系映射)属于ORM的最高等级权限.

【Hibernate】从0开始学Hibernate--001

    ORM是一种程序技术,用于实现面向对象编程语言里不同类型系统的数据之间的转换。从效果上说,它其实是创建了一个可在编程语言里使用的--“虚拟对象数据库”。

    面向对象是Java编程基本原则(如耦合、聚合、封装)的基础上发展起来的,而关系数据库则是从数学理论发展而来的,两套理论存在显著的区别。对象关系映射技术应运而生。

    对象关系映射(Object-Relational Mapping)提供了概念性的、易于理解的模型化数据的方法。ORM方法论基于三个核心原则: 简单:以最基本的形式建模数据。 传达性:数据库结构被任何人都能理解的语言文档化。 精确性:基于数据模型创建正确标准化的结构。

ORM分为四级:最底层的一级是:BDUTils;第二级便是现在后台开发的主流:MyBatis;Hibernate属于第四级:完全面向对象的数据库操作。

二、Hibernate框架搭建步骤

(一)两导(导入Hibernate常用包和导入mysql Connection包)

Hibernate常用包(003)

【Hibernate】从0开始学Hibernate--001

 

 

 

 

 

 

 

MySQL数据库连接包(004)

【Hibernate】从0开始学Hibernate--001

 

(二)创建数据库准备数据表(实体005)

【Hibernate】从0开始学Hibernate--001

 

    创建数据表是为了访问连接实体(后台数据,必须有)

(三)书写ORM元数据(对象与表的映射配置文件)

     导入ORM元约束(非必选、为确保项目的正确进行,断网或者整包上线影响很大,建议配置)

【Hibernate】从0开始学Hibernate--001

    方式步骤:

         1.桌面创建文本文档,打开eclipse(以eclipse为例),打开导入的jar包(小奶瓶),找到dtd中,找到Hibernate-mapping-3.0.dtd,版本号优先选择3.0,打开文件全选复制,然后粘贴到桌面文本文档中。

         2.复制本个dtd文件的全名,更改文本文档的全名包括后缀。并且放置到一个你认为安全的不能再安全的地方,防止删除。   

         3.打开eclipse设置(MAC版本的选偏好设置)搜索catalog,选中xml catalog,location部分铆钉到你刚刚保存的dtd文件中。key type 选择URL 再将dtd文件中的以下部分(“http:.....dtd”)保存入key.保存即可

【Hibernate】从0开始学Hibernate--001

    (四)创建类实体

      在src中创建包xxx.xxx.orm,并创建实体类(需和MySQL数据表中的字段保持一致)

【Hibernate】从0开始学Hibernate--001注意:属性为私有 内容要完全 数据类型要与表中对应,且需要get和set方法进行操作。

     (五)配置ORM元数据

【Hibernate】从0开始学Hibernate--001hibernate-mapping:映射关系配置

class:访问的实体类

table:数据库中表名

id:主键名称(自拟)

column:对象字段(详见下帖)

generator:键类(详见下帖)

property:参数

    (六)配置xml文件

【Hibernate】从0开始学Hibernate--001

 

【Hibernate】从0开始学Hibernate--001

~.show_sql:后台显示SQL语句

~.formmat_sql:格式化SQL语句

【Hibernate】从0开始学Hibernate--001指定映射文件地址

 

  映射文件配置(配置连接数据库的方式以及各种参数)

        session-factory:配置参数根目录

        hibernate.connection.driver_class : 配置连接数据库驱动文件

        hibernate.connection.url : 驱动指向地址

        hibernate.connection.username : 指定数据库账户名

        hibernate.connection.password : 指定数据库账户密码

        hibernate.dialect : 指定数据库标准

    (七)编写测试代码测试是否成功查询:

    【Hibernate】从0开始学Hibernate--001

 

 

执行结束。。。查询到对象并且控制台打印出SQL语句,至此,最简单的Hibernate应用已经完成...