Hibernate环境搭建(小实例)

2014-11-24 08:07:40 · 作者: · 浏览: 0

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驱动,配置数据库连接。代码如下:


  
	
    
    
     com.mysql.jdbc.Driver
     
    
     jdbc:mysql://localhost:3306/hibernate_first
     
    
     root
     
    
     bjpowernode
     
    
     org.hibernate.dialect.MySQLDialect
     
    
     true
     
   

  


建立实体类

到这里,简单的环境就搭建好了,之后就是建立实体类,并对实体类进行映射了。为了方便起见,建立一个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),代码如下:

  


  
	
    
     
      
     
     
     
     
     
   

  


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

  
	
   

  


导入数据表

然后,我们还需要建立一个小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的表结构,如图:

\
\


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

编程思维对 数据库进行操作,而无需了解繁琐的数据表结构。