hibernate环境配置和使用(一)

2014-11-23 17:48:58 · 作者: · 浏览: 37

一.hibernate简介

Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象 编程思维来操纵 数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。

二.hibernate环境搭建

1.导入hibernate核心jar包

需要导入hibernate3.jar和lib/required文件下所有的jar包再加上一个hibernate-jpa-2.0-api-1.0.1.Final.jar即可。如图 \ \

2.添加hibernate核心配置文件hibernate.cfg.xml


  
    
    
    
     com.mysql.jdbc.Driver
     
    
     jdbc:mysql://localhost:3306/hibernate
     
    
     root
     
    
     123456
     
    
     org.hibernate.dialect.MySQLDialect
     
    
     true
     
    
     update
     
     
   

  
其中 为配置文件的根,session-factory标签下 com.mysql.jdbc.Driver jdbc:mysql://localhost:3306/hibernate root 123456 是数据源的配置分别为驱动、url、用户名、密码 org.hibernate.dialect.MySQLDialect 是配置数据库方言即对哪种数据库操作 true 是配置是否打印数据库操作语句 update 指定对数据库的默认操作 指定要加载的表与实体间映射关系文件

3.添加表与实体间映射关系文件 xxx.hbm.xml


   


   
    
     
      
       
      
      
      
      

   


三.使用hibernate的7个步骤

\

1.第一步:

创建Configuration读取配置信息 Configuration cfg = new Configuration().configure();

2.第二步:

创建sessionFactory SessionFactory factory= cfg.buildSessionFactory();

3.第三步:打开session

Session session=factory.Z http://www.2cto.com/kf/ware/vc/" target="_blank" class="keylink">vcGVuU2Vzc2lvbigpOwo8aDM+ICAgICAgICA0LrXay8SyvaO6v6rG9MrCzvFUcmFuc2FjdGlvbjwvaDM+CgogICAgICAgIHNlc3Npb24uZ2V0VHJhbnNhY3Rpb24oKS5iZWdpbigpOwo8aDM+ICAgICAgICA1LrXazuWyvaO6vfjQ0LPWvsO7r7LZ1/ejrLy01PbJvrLpuMS1yLLZ1/c8L2gzPgoKICAgICAgICAgVXNlciB1c2VyPW5ldyBVc2VyKCk7CgogICAgICAgICB1c2VyLnNldE5hbWUo"aaa"); user.setPassword("123456"); session.save(user);

6.第六步:提交事务

session.getTransaction().commit();

7.关闭资源,也就是关闭session

session.close(); \ 第一步通过创建Configuration对象读取hibernate.cfg.xml配置文件信息,为创建对应的session做准备。第二步根据读取的配置文件信息创建sessionfactory对象。在hibernate.cfg.xml文件中有sessionfactory的配置信息,在sessinofactory中配置了数据源及对数据库操作的一些信息,而sessionfactory根据这些信息去创建相应的session对象。session对象是hibernate操作数据库的一个句柄对象,用来将数据持久化或其他的操作,与HttpSession没有本质联系。总的来说hibernate.cfg.xml配置文件信息主要是在为创建数据持久化过程中使用的对象session对象做描述(配置),只不过在hibernate中又封装了configuration、sessionfactory,configuration用来读取配置文件,sessionfactory作为session工厂对象根据configuration提供的指定配置去创建相应的session,进而通过session对象去完成数据的持久化。

四.实例代码

hibernate.cfg.xml


   
	
     
     
      com.
      mysql.jdbc.Driver
      
     
      jdbc:mysql://localhost:3306/hibernate
      
     
      root
      
     
      123456
      
     
      true
      
     
      org.hibernate.dialect.MySQLDialect
      
     
      update
      
      
    

   
User.hbm.xml
   


   
    
     
      
       
      
      
      
       

   
User类
/**
 * 
 */
package com.zhouxiang.model;

/** 
 * @ClassName: User 
 * @Description: TODO
 * @author zx
 * @date 2014年5月15日 上午10:40:43 
 *  
 */
public class User {
    private String id;
    private String name;
    private String password;
    public User()
    {}
	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;
	}
    
    
}
测试类
/**
 * 
 */
package com.zhouxiang.test;

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

import com.zhouxiang.model.User;

/** 
 * @ClassName: Test1 
 * @Description: TODO
 * @author zx
 *