论坛首页 入门技术论坛

hibernate:入门小例子

浏览 1381 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2008-10-11  
1、新建java项目
2、创建User Library:hibernate,加入如下jar
* HIBERNATE_HOME/hibernate3.jar
* HIBERNATE_HOME/lib/*.jar
* MySql jdbc驱动
3、把新建的类库加入到项目
4、创建hibernate配置文件hibernate.cfg.xml
<!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="myeclipse.connection.profile">mysql</property>
	<property name="connection.url">
		jdbc:mysql://localhost:3306/hibernate_first
	</property>
	<property name="connection.username">root</property>
	<property name="connection.password">admin</property>
	<property name="connection.driver_class">
		com.mysql.jdbc.Driver
	</property>
	<property name="dialect">
		org.hibernate.dialect.MySQLDialect
	</property>
	<property name="show_sql">true</property>
	
</session-factory>
</hibernate-configuration>


5、定义实体类
package com.lhtwqh.hibernate;

import java.util.Date;

public class User {
	private String id;
	private String name;
	private String password;
	private Date createTime;
	private Date expireTime;
	
	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;
	}
	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;
	}

}


6、定义User类的映射文件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 	package="com.lhtwqh.hibernate">
	<class name="User">
		<id name="id" length="32">
		  <generator class="uuid"/>
		</id>
		<property name="name"/>
		<property name="password"/>
		<property name="createTime"/>
		<property name="expireTime"/>
	</class>
</hibernate-mapping>


7、将User.hbml.xml文件加入到hibernate.cfg.xml文件中
   <mapping resource="com/lhtwqh/hibernate/User.hbm.xml">
         </mapping>

8、编写hbm2ddl工具类,将实体类生成数据库表

package com.lhtwqh.hibernate;

import org.hibernate.cfg.Configuration;
import org.hibernate.tool.hbm2ddl.SchemaExport;

public class ExportDB {
	public static void main(String[] args) {
            //读取配置文件
	   Configuration config = new Configuration().configure();
	   SchemaExport export = new SchemaExport(config);
            //生成数据库表
	   export.create(true, true);
	}

}

9、开发客户端
        
package com.lhtwqh.hibernate;

import java.util.Date;

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

public class Client {
    public static void main(String[] args) {
      //读取hibernate.cfg.xml文件
      Configuration config = new Configuration().configure();
      //创建SessionFactory
      sessionFactory sessionFactory=config.buildSessionFactory()   
      Session session = null;

		try {
			session = sessionFactory.openSession();
                            //开启事务
			session.beginTransaction();
			User user = new User();
			user.setName("lhtwqh");
			user.setPassword("lhtwqh");
			user.setCreateTime(new Date());
			user.setExpireTime(new Date());
                            //保存数据
			session.save(user);
                            //提交事务
			session.getTransaction().commit();

		} catch (Exception e) {
                            //回滚事务
			session.getTransaction().rollback();
			e.printStackTrace();
		} finally {
			if (session != null) {
				if (session.isOpen()) {
                                             //关闭session
					session.close();
				}

			}
		}
	}
}
论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics