您的位置:首页 > 其它

菜鸟学习Hibernate——简单的一个例子

2016-02-19 16:25 597 查看

一、Hibernate开发。

上篇博客已经为大家介绍了持久层框架的发展流程,持久层框架的种类。

为了能够使用Hibernate快速上手,我们先讲解一个简单的Hibernate应用实例hibernate_first。

二、开发流程。

1.首先在MyEclipce中新建一个hibernate_first的项目,然后新建后的项目目录为:



2.配置Hibernate环境。

3.编写持久化类User.java

[java] view
plain copy







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;

}

}

4.编写生成映射文件User.hbm.xml。

[java] view
plain copy







<?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"/>

</id>

<property name="name"/>

<property name="password"/>

<property name="createTime"/>

<property name="expireTime"/>

</class>

</hibernate-mapping>

5.编写hibernate.cfg.xml文件。

[java] view
plain copy







<!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_frist</property>

<property name="hibernate.connection.username">root</property>

<property name="hibernate.connection.password">root</property>

<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>

<property name="hibernate.show_sql">true</property>

<property name="hibernate.format_sql">true</property>

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

</session-factory>

</hibernate-configuration>

6.生成表的类ExportDB.java。

[java] view
plain copy







package com.bjpowernode.hibernate;

import org.hibernate.cfg.Configuration;

import org.hibernate.tool.hbm2ddl.SchemaExport;

/**

* 将hbm生成ddl

* @author Administrator

*

*/

public class ExportDB {

public static void main(String[] args) {

//默认读取hibernate.cfg.xml文件

Configuration cfg = new Configuration().configure();

SchemaExport export = new SchemaExport(cfg);

export.create(true, true);

}

}

7.以上六个步骤已经把表建起来了下面我们就保存个数据,新建一个Client.java类来存入一个数据。代码如下:

[java] view
plain copy







package com.bjpowernode.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 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("张三");

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();

}

}

}

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: