Hibernate环境搭建(小实例)

本文详细介绍了如何搭建Hibernate环境,包括引入Jar包、配置核心文件、建立实体类及映射文件等步骤,并通过一个简单的示例展示了如何使用Hibernate进行数据库操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Hibernate是一个开源的对象关系映射框架,在学习之前,首先让我们先了解一下Hibernate环境是如何搭建的。废话不多说,直接进入正题。


建项目,引Jar包

首先,我们需要创建一个Java项目,创建好项目之后,就需要引入与Hibernate相关的jar包。这里,我把这些jar包统一的加到一个库中。我们自己建立一个库“HIBERNATE3”,把Hibernate中的第三方jar包和Hibernate.jar都引入,当然,还有数据库的jdbc驱动(我这里用的是mysql)如图:



然后,我们就可以把建好的库引入到项目中了,具体操作为:右键项目名称-->Properties-->Java Build Path,如图:



核心文件配置

到现在,已经把建好的库引入到项目中了,之后我们要做的就是,把Hibernate的核心配置文件(hibernate.cfg.xml)引入到项目中,该核心配置文件会给Hibernate提供数据库的映射,使得Hibernate与数据库进行连接。如图所示:



之后,我们需要对Hibernate核心文件做一下配置,加入MySQL的JDBC驱动,配置数据库连接。代码如下:

<!DOCTYPE hibernate-configuration PUBLIC
	"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
	"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
	<session-factory>
		<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
		<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/hibernate_first</property>
		<property name="hibernate.connection.username">root</property>
		<property name="hibernate.connection.password">bjpowernode</property>
		<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
		<property name="hibernate.show_sql">true</property>

	</session-factory>
</hibernate-configuration>


建立实体类

到这里,简单的环境就搭建好了,之后就是建立实体类,并对实体类进行映射了。为了方便起见,建立一个User实体类,并且定义了几个简单的属性。代码如下:

package com.bjpowernode.hibernate;

import java.util.Date;

public class User {

	private String id;
	
	private String name;
	
	private String password;
	
	private Date createTime;
	
	private Date expireTime;

	public String getId() {
		return id;
	}

	public void setId(String id) {
		this.id = id;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getPassword() {
		return password;
	}

	public void setPassword(String password) {
		this.password = password;
	}

	public Date getCreateTime() {
		return createTime;
	}

	public void setCreateTime(Date createTime) {
		this.createTime = createTime;
	}

	public Date getExpireTime() {
		return expireTime;
	}

	public void setExpireTime(Date expireTime) {
		this.expireTime = expireTime;
	}
}


映射文件配置

实体类建立好之后,就需要将实体类与数据库进行映射,建立数据库映射文件(User.hbm.xml),代码如下:

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC 
	"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
	"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
	<class name="com.bjpowernode.hibernate.User">
		<id name="id">
			<generator class="uuid"></generator>
		</id>
		<property name="name"></property>
		<property name="password"></property>
		<property name="createTime"></property>
		<property name="expireTime"></property>
	</class>
</hibernate-mapping>


实体类的映射完成之后,我们还需要把实体类的映射源文件加入到Hibernate的核心配置文件中,代码如下所示:

<session-factory>
	<mapping resource="com/bjpowernode/hibernate/User.hbm.xml"/>
</session-factory>


导入数据表

然后,我们还需要建立一个小Demo,通过读取hibernate.cfg.xml文件,实现建立数据表结构。(部分代码):
public static void main(String[] args) {
		
	// 默认读取hibernate.cfg.xml文件
	Configuration cfg = new Configuration().configure();
		
	SchemaExport export = new SchemaExport(cfg);
		
	export.create(true, true);
}


测试客户端

最后,你可以建立一个客户端,对其进行测试,给数据库中插入几条数据。

package com.bjpowernode.hibernate;

import java.util.Date;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;

public class Client {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		
		// 读取hibernate.cfg.xml文件
		Configuration cfg = new Configuration().configure();
		
		// 建立SessionFactory
		SessionFactory factory = cfg.buildSessionFactory();
		
		// 取得session
		Session session = null;
		try {
			session = factory.openSession();
			
			// 开启事务
			session.beginTransaction();
			
			User user = new User();
			user.setName("Tom");
			user.setPassword("123");
			user.setCreateTime(new Date());
			user.setExpireTime(new Date());
			
			//保存User对象
			session.save(user);
			
			// 提交事务
			session.getTransaction().commit();
		} catch (Exception e) {
			e.printStackTrace();
			// 回滚事务
			session.getTransaction().rollback();
		} finally {
			if(session != null) {
				if(session.isOpen()) {
					// 关闭session
					session.close();
				}
			}
		}	
	}
}


测试结果

下面来看一下我们建立的表user以及user的表结构,如图:




最后,我们执行测试客户端,来看一下插入的数据,如图:


结束语

到这里,简单的搭建环境小实例就结束了,看到这,你明白如何搭建自己的Hibernate环境并对其进行测试了吗?这只是一个简单的小例子,Hibernate对JDBC提供了轻量化的对象封装,使得程序员可以对象的编程思维对数据库进行操作,而无需了解繁琐的数据表结构。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值