Hibernate学习笔记(2)——搭建项目框架编写hibernate配置文件、实体映射文件

使用Hibernate前的准备工作:

1.创建项目并导入jar包:

下载Hibernate:可以在http://sourceforge.net/projects/hibernate/files/hibernate4/页面找到下载链接,在页面下方选择要下载的版本,我们需要下载的是Hibernate-release-4.2.0.Final.zip。

解压后,展开“lib”目录——展开“required”目录,这里面的jar包,需要导入到工程中。
导入数据库的JDBC驱动包,本书采用oracle10g作为数据库,使用ojdbc14.jar(也可以使用Oracle11g的驱动包ojdbc6.jar,该包支持JDK6.0)。
如Hibernate官方文档所说,Hibernate的连接池不能应用于产品环境(可用于开发和测试环境),建议我们使用第三方的更为优秀的连接池。我们采用c3p0最新版本c3p0-0.9.2.1.jar和mchange-commons-Java-0.2.3.4.jar。
考虑到JSP中要使用JSTL,所以jstl.jar和standard.jar也是需要的。
 

2.创建Hibernate配置文件

  • 用于配置数据库连接
  • 运行时所需的各种属性
  • 默认文件名为“hibernate.cfg.xml”

hibernate.cfg.xml文件主要包括四项内容:

1、 数据库连接信息:驱动程序类名、URL、用户名、密码。
2、 Hibernate相关特性:dialect(方言)、show_SQL(输出SQL语句到控制台)、format_SQL(格式化SQL语句)。
3、 连接池相关信息。
4、 实体类映射文件:实体类与数据库表之间的逻辑映射。

文件的代码示例如下

<?xml version='1.0' encoding='utf-8'?> 
<!DOCTYPE hibernate-configuration PUBLIC 
"-//Hibernate/Hibernate Configuration DTD 3.0//EN" 
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"> 
<hibernate-configuration> 
<session-factory> 
<!-- 数据库连接URL --> 
<property name="connection.url">jdbc:oracle:thin:@localhost:1521:XE</property> 
<!-- 数据库用户名  --> 
<property name="connection.username">oa</property> 
<!-- 数据库密码 --> 
<property name="connection.password">oa123</property> 
<!-- 数据库JDBC驱动类名 --> 
<property name="connection.driver_class">oracle.jdbc.driver.OracleDriver</property> 
<!-- 数据库方言 --> 
<property name="dialect">org.hibernate.dialect.Oracle10gDialect</property> 
<!-- ddl语句自动建表 --> 
<property name="hbm2ddl.auto">none</property> 
<!-- 是否输出Hibernate生成的SQL语句,开发阶段一般需要开启 --> 
<property name="show_SQL">true</property> 
<!-- 是否对输出SQL进行格式化 --> 
<property name="format_SQL">true</property> 
<!-- 连接池配置 --> 
<property name="hibernate.connection.provider_class"> 
org.hibernate.service.jdbc.connections.internal.C3P0ConnectionProvider 
</property> 
<!-- 这是C3P0随时准备好的最少的JDBC连接数量 --> 
<property name="hibernate.c3p0.min_size">5</property> 
<!-- 连接池中JDBC连接的最大数量 --> 
<property name="hibernate.c3p0.max_size">20</property> 
<!-- 超时周期,在它之后,闲置连接将从池中移除 --> 
<property name="hibernate.c3p0.timeout">300</property> 
<!-- 最多高速缓存100个预编译语句,该属性是使Hibernate获得较好性能的要素。 --> 
<property name="hibernate.c3p0.max_statements">100</property> 
<!-- 连接被自动验证前,以秒为单位的闲置时间 --> 
<property name="hibernate.c3p0.idle_test_period">3000</property> 
<!-- 注册ORM实体类映射文件--> 
<mapping resource="实体类映射文件路径" /> 
… 
</session-factory> 
</hibernate-configuration>


 3.测试连接,在工作台输入以下代码测试连接:

public class HibernateTest {
	public static void main(String[] args) {
		//获取配置,默认读取classpath根目录下名为hibernate.cfg.xml的文件
		Configuration cfg = new Configuration().configure();
ServiceRegistry serviceRegistry = new ServiceRegistryBuilder().applySettings(cfg.getProperties()).buildServiceRegistry();
		//创建SessionFactory
		SessionFactory factory = cfg.buildSessionFactory(serviceRegistry); 
		//获取session
		System.out.println(factory.openSession());
	}
}



 

注意:默认读取classpath根目录下名为hibernate.cfg.xml的文件,若路径有变动,需将代码作出如下如下改动:
Configuration cfg = new Configuration().configure("hibernate.cfg.xml文件的路径名");
例如:

Configuration cfg = new Configuration().configure("/cfg/hibernate.cfg.xml");

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值