Java项目开发——Hibernate框架

1 Hibernate框架概述

纵观计算机应用软件的演变过程,可以看出,应用程序逐渐由单层体系结构发展为多层体系结构。在多层体系结构中,业务逻辑层不仅负责业务逻辑,而且直接访问数据库,提供对业务逻辑的保存、更新、删除和查询功能。为了把数据库访问细节和业务逻辑分开,可以把数据访问作为单独的持久化层。目前出现了许多优秀的ORM软件,有的是商业性的,有的是开放源代码的。Hibernate就是一款越来越受欢迎的开放源代码的ORM软件。ROM软件具有中间件的特性。中间件是应用程序与系统之间的连接管道。**Hibernate可以看成是连接Java应用程序与关系数据库的管道。Hibernate可以为任何一个需要访问数据库的Java应用程序服务。**如图所示,Hibernate的另一个特性是透明的,作为Hibernate的使用者,只需要知道如何访问它的接口就可以,无需知道它是如何实现的。
在这里插入图片描述

2 Hibernate的配置文件

Hibernate从配置文件中和数据库连接有关的信息,Hibernate的配置文件有两种形式:一种是XML格式的文件,一种是Java属性文件,采用“键=值”的形式。博客网站采用的是Java的属性文件的格式来创建Hibernate的配置文件。这种配置文件的默认文件名是hibernate.properties。代码如下:

hibernate.dialect=org.hibernate.dialect.SQLServerDialect
hibernate.connection.driver_class=net.sourceforge.jtds.jdbc.Driver
hibernate.connection.url=jdbc:jtds:sqlserver://localhost:1433/db_BlogMay
hibernate.connection.username=sa
hibernate.connection.password=
hibernate.show_sql=true
hibernate.hbm2ddl.auto=none

上述代码为连接SQL server2017数据库的配置代码。下表对hibernate.properties文件中的属性进行详细说明。

属性 描述
Hibernate.dialect 指定数据库使用的方言
Hibernate.connection.driver_class 指定数据库的驱动程序
Hibernate.connection.url 指定连接数据库的URL
Hibernate.connection.username 指定连接数据库的用户名
Hibernate.connection.password 指定连接数据库的密码
Hibernate.show_sql 程序运行时控制台是否输出SQL语句,值为true是输出SQL语句,
hibernate.hbm2ddl.aut 首次运行程序时是否重新创建表,值为create为重新创建表,值为false为不重新创建表。

5.3 创建持久化对象

持久化类是指需要被hibernate持久化到数据库中的类。持久化类符合JavaBean的规范。包含一些属性以及与之对应的get()和set**()方法**,下面是定义了一个持久化类Friend,代码如下:

Public class Friend
{
Private int id;
Private string name;
Private string QQnumber;
Private string description;

Public string getDescription()
{
Return description;
}

Public void setDescription(String description)
{
This.description=description;
}

Public int getId()
{
Return id;
}

Public void setId(int id)
{
This.id=id;
}

Public String getName()
{
Reurn name;
}

Public void setName(String name)
{
This.name=name;
}

Public String getQQNumber()
{
Return QQnumber;
}

Public void setQQNumber(String number)
{
This.QQnumber=number;
}
}

5.4 Hibernate映射文件
Hibernate采用XML格式的文件来指定对象和关系数据之间的映射。程序运行时,Hibernate将根据这个映射文件来生成各种SQL语句。下面的实例创建一个名为Friend.hbm.xml的文件。用于完成Friend类与数据库td_friend的映射。代码如下:

<?xml version=”1.0”>
<!DOCTYPE hibernate-mapping PUBLIC
“-//hibernate/Hibernate Mapping DTD 3.0//EN”
“http://hibernate.sourceforge.net/hibernate-mapping-3.0//.dtd”>
	<hibermate-mapping>
	<class name=”com.Hibernate.persistence.Friend” table=”td_friend” lazy=”false”>
		<id name=”id” column=”id” type=”int”>
		<generator class=”hibernate”/>
		</id>
	<property name=”name” column=”name”type=”String”/>
	<property name=”QQnumber” column=”QQnumber”type=”String”/>
	<property name=”description” column=”description”type=”String”/>
	</class>
</hibernate-mapping>

其中,Friend.hbm.xml文件的开头声明的DTD文档,定义了XML文件的语法和格式。顶层元素,其他元素要嵌套在与元素之内。元素又可嵌套多个子元素,可以指定对象关系映射的持久化类、数据表和主键。首先必须定义设定主键的子元素。子元素中name属性指定持久化类的属性,column指定数据库中指定的字段名,type用于指定映射数据类型。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值