`
dengyll
  • 浏览: 90224 次
社区版块
存档分类
最新评论

Hibernate环境搭建续----工具类

阅读更多

搭建好环境之后,为了避免过多的重复,可以建立工具类,以便更好的复用。

第一个(ExportDB):程序入口类,加载配置文件,生成数据库表

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

第二个(HibernateUtils):工具类,读取相应的配置文件,建立Session管理工厂

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

public class HibernateUtils {

	private static SessionFactory factory;
	
	static {
		try {
			//读取hibernate.cfg.xml文件
			Configuration cfg = new Configuration().configure();
			
			//建立SessionFactory
			factory = cfg.buildSessionFactory();
		}catch(Exception e) {
			e.printStackTrace();
		}
	}
	
	public static Session getSession() {
		return factory.openSession();
	} 
	
	public static void closeSession(Session session) {
		if (session != null) {
			if (session.isOpen()) {
				session.close();
			}
		}
	}
	
	public static SessionFactory getSessionFactory() {
		return factory;
	}
}
有了上面的程序入口类和上篇环境搭建里提到的配置文件,在只需要写你需要的实体类和实体类对应的配置文件,即可成功导出相应的数据表。
例如:导出用户表的例子

a、用户实体类:

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;
	}
}

b、用户对应的配置文件(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"/>
		</id>
		<property name="name"/>
		<property name="password"/>
		<property name="createTime"/>
		<property name="expireTime"/>
	</class>
</hibernate-mapping>

c、在配置文件(hibernate.cfg.xml)加入下面这句代码

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

最后执行ExportDB类,生成的表如下图所示:



使用工具类进行单元测试,例如:SessionTest测试类

import java.util.Date;

import junit.framework.TestCase;

import org.hibernate.Session;
import org.hibernate.Transaction;

public class SessionTest extends TestCase {

	public void testSave1() {
		Session session = null;
		Transaction tx = null;
		try {
			//拿到session
			session = HibernateUtils.getSession();
			//开启事务
			tx = session.beginTransaction();
			
			//给实体赋值
			User user = new User();
			user.setName("李四");
			user.setPassword("123");
			user.setCreateTime(new Date());
			user.setExpireTime(new Date());
			
			//保存数据到数据库
			session.save(user);
			
			//提交事务
			tx.commit();
			
		}catch(Exception e) {
			//打印堆栈信息
			e.printStackTrace();
			//事务回滚
			if (tx != null) {
				tx.rollback();
			}
		}finally {
			//关闭session
			HibernateUtils.closeSession(session);
		}
	}
执行后将会有一条数据存入user表里,如下图:



配置文件里的具体的配置信息以后的博客里会陆续的逐一介绍。


分享到:
评论

相关推荐

    hibernate工具类大全

    搭建Hibernate需要的东西都在这里,包括jar包,持久化类的配置,核心文件的配置,dtd文件,以及一些hibernate的资料

    hibernate环境搭建及简单的操作

    编辑hibernate.cfg.xml文件 使用hibernate对数据库的操作 编写一个生成表的工具类 对数据库表增加一条记录,创建一个类

    搭建Hibernate项目环境步骤

    1、 加载Hibernate类库和依赖库 2、 创建hibernate.cfg.xml文件 3、 创建持久化类和映射文件 4、 创建Hibernate连接工具类

    SpringMVC完整框架搭建(springMVC+Hibernate)

    SpringMVC完整框架搭建,使用spring3,Hibernate4搭建的demo(包括基本的工具类),下载后可直接编写自己的逻辑。

    Hibernate笔记 马士兵

    第12课 使用hibernate工具类将对象模型生成关系模型 19 第13课 ID主键生成策略 20 一、 Xml方式 20 元素(主键生成策略) 20 二、 annotateon方式 21 1、AUTO默认 21 2、IDENTITY 22 3、SEQUENCE 22 4、为Oracle指定...

    Hibernate开发学习手册

    为了让读者快速入门,本章将从搭建开发环境入手,按照实际开发流程介绍Hibernate的具体配置,然后通过具体实例介绍在不同开发工具上创建Hibernate实例的方法。 本章包括以下内容:  ● 安装和配置JDK1.5  ● 安装...

    毕业生就业信息管理系统.zip

    1、首先搭建maven环境。 2、新建MySQL数据库名为:graempinf。 3、执行脚本中的文件初始化数据。 4、导入本项目到有maven的myeclipse中。 5、在Tomcat中发布项目即可访问。 6、默认用户名admin 密码1 。

    struts2+hibernate学习示例

    6、创建了专门的数据库操作工具类 DBUtil、专门的DAO管理工具DAOManager 7、实现了CRUD的基本操作 8、struts2基本标签的使用 9、struts2的Action实现,其中用到了两种方法 (1)UserAction类是比较方便的方法,本系统...

    基础的java web项目,完成了应用骨架的搭建,提供了底层框架的支持

    (1)这是一个基础的java web项目,完成了应用骨架的搭建,提供了底层框架的支持,但里面的内容是空白的,可以在此基础上进行项目开发或用来学习。...(6)cn.sky.framework.util 包中提供了常用的工具类,如 id 生成等。

    struts2+Hibernate+Spring学习示例

    6、创建了专门的数据库操作工具类 DBUtil、专门的DAO管理工具DAOManager 7、实现了CRUD的基本操作 8、struts2基本标签的使用 9、struts2的Action实现,其中用到了两种方法 (1)UserAction类是比较方便的方法,本系统...

    容灾项目从入门到实战视频.rar

    │ 78-创建任务调度工具类-1.mp4 │ 79-整合任务管理和任务日志-1.mp4 │ 80-整合前端代码-1.mp4 │ 81-在保存任务的同时启动任务-1.mp4 │ 82-暂停任务-1.mp4 │ 83-其他代码的实现-1.mp4 │ 84-代码的测试-1.mp4 ...

    employeeManager:自己尝试写的一个简单的考勤管理系统,包含管理成员信息以及成员考勤,管理员审批的功能,采用SpringMVC+Hibernate4+Spring搭建

    简单的考勤管理系统,实现了考勤管理,...Apache commons-collections 封装好的各种集合类和集合工具类 Apache commons-io Apache基金会创建并维护的Java函数库 Apache commons-logging 通用的日志接口 dom4j 优秀的

    java web技术开发大全(最全最新)

    第1章 搭建开发环境 1.1 本书使用的软件和框架的版本 1.2 JDK6的下载与安装 1.3 Eclipse3.4 的下载与安装 1.4 MyEclipse6.5 的下载与安装 1.5 Eclipse:IDEforJavaEEDevelopers的下载与安装 1.6 Tomcat6的...

    SingleHibernate 是基于Spring Framework基础上搭建的一个Java基础开发套件

    SingleHibernate 是基于Spring Framework基础上搭建的一个Java基础开发套件,以Spring MVC为模型视图控制器,Hibernate为数据访问层。 * 核心框架:Spring Framework 4.2.7 ...* 工具类:fasterxml 2.8.7、junit 4.12、

    java web开发技术大全

    第1章 搭建开发环境 1.1 本书使用的软件和框架的版本 1.2 JDK6的下载与安装 1.3 Eclipse3.4 的下载与安装 1.4 MyEclipse6.5 的下载与安装 1.5 Eclipse:IDEforJavaEEDevelopers的下载与安装 1.6 ...

    BOS 技术整理

    Spring 环境搭建 IOC 导入 context 依赖 beans、core、expression AOP 导入 测试集成 Web 集成 配置监听器 整合持久层框架 hibernate、jpa web.xml 配置 spring 监听器 src/main/resource 下 建立 ...

    SSH整合案例-商品管理.rar

    1.2util包工具类 2. 页面文件(jsp,js,css)组织 3. 总体实现步骤 3.1.创建dao接口 3.2.创建dao接口实现类,主要是通过Hibernate实现数据访问 3.3.创建Service接口,编写业务功能方法 3.4.创建Service接口实现类,...

    SSM框架整合的资料,可以用Typora打开查看

    - Spring:spring实现业务对象管理,也是各个组件的粘合剂,可以很好的管理各层之间的框架。 - SpringMvc:负责请求的转发和视图管理,springmvc是spring的...- 第二个容器spring容器,管理service,mapper工具类对象.

    基于Spring4+SpringMVC+Hibernate5的燃气进销存管理系统.zip

    ② 熟练使用各种类相关开发、设计工具,及开源软件。 ③ 熟练掌握 Spring+SpringMVC+Hibernate+ExtJs 的开发技术。 ④ 熟练使用 maven 构建工具。 ⑤ 站在企业的角度,试着搭建自己的一个底层基础框架。 ...

Global site tag (gtag.js) - Google Analytics