码迷,mamicode.com
首页 > Web开发 > 详细

Hibernate学习(1)

时间:2016-07-13 17:49:24      阅读:278      评论:0      收藏:0      [点我收藏+]

标签:



第2章 Hibernate入门


Hibernate是Java应用和关系数据库之间的桥梁,负责java对象和关系数据库之间的映射。Hibernate内部封装了通过JDBC访问数据库的操作,向上层应用提供了面向对象的数据访问API。在JAVA应用中使用Hibernate包含以下步骤:

步骤:

(1)创建Hibernate的配置文件

(2)创建持久化类

(3)创建对象-关系映射文件

(4)通过Hibernate API编写访问数据库的代码


简单的例子helloapp,演示如何运用Hibernate来访问关系数据库。应用的功能:通过Hibernate保存、更新、删除、加载及查询Customer对象。图2-1展示了Hibernate在helloapp应用中所处的位置。

技术分享技术分享




2.1创建Hibernate的配置文件


Hibernate从配置文件中读取和数据库连接有关的信息。有两种形式,一种是XML格式的文件;还有一种是Java属性文件,采用“键=值”的形式。

技术分享技术分享

hibernate.dialect属性用于指定被访问数据库使用的SQL方言。



2.2 创建持久化类


持久化类是指实例需要被Hibernate持久化到数据库中的类。持久化类通常是域模型(?)中的实体域类。持久化类符合JavaBean的规范,包含一些属性,以及与之对应的getXXX()和setXXX()方法。例如2-2定义了一个名为Customer的持久化类。

技术分享

技术分享

     

      技术分享

      Customer持久化类有一个id属性,用来唯一标识Customer类的每个对象,在面向对象术语中,这个id属性被称为对象标识符,通常它用整数来表示,当然也可以设置为其他类型。如果customerA.getId.equals(customerB.getId())的结果是true,就表示customerA和customerB对象指的是用一个客户,它们和CUSTOMER表中的同一条记录对应。


     Hibernate要求持久化类提供一个不带参数的默认构造方法,在程序运行时,Hibernate运用java反射机制,调用java.lang.reflect.Constructor.newInstance()方法来构造持久化类的实例。要求持久化类的默认构造方法的访问级别必须是public或protected类型。



2.3 创建数据库 Schema


在本例中,与Customer类对应的数据库表名为CUSTOMERS,CUSTOMERS表有一个ID字段,是表的主键,与customer类的id属性对应。

技术分享技术分享

2.4 创建对象-关系映射文件


Hibernate采用XML格式的文件来指定对象和关系数据之间的映射,在运行时,Hibernate将根据这个映射文件来生成各种SQL语句。本例中,将创建一个名为Customer.hbm,xml的文件,它用于将Customer类映射到CUSTOMERS表,这个文件和Customer.class文件存放在同一个目录下。例程2-3 为Customer.hbm.xml文件的代码。


不考虑这种映射方法。



2.5  通过Hibernate API操纵数据库


Hibernate对JDBC进行了封装,提供了更加面向对象的API。图2-4和图2-5对比了直接通过JDBC API及通过Hibernate API来访问数据库的两种方式。

技术分享



2.5.2 访问Hibernate的Session接口


初始化过程结束后,就可以调用SessionFactory实例的openSession()方法来获得Session实例,然后通过它来访问数据库的操作。Session接口提供了操纵数据库的各种方法,如:

技术分享

技术分享

技术分享

技术分享

技术分享


Hibernate学习(1)

标签:

原文地址:http://blog.csdn.net/u011960440/article/details/51884889

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!