【hibernate进阶】hibernate搭建开发环境+实例讲解

本篇博客将带着大家以一个简单的实例来学习hibernate项目。

1、创建java项目

2、创建User Library,加入依赖包

* HIBERNATE_HOME/lib/*.jar

* HIBERNATE_HOME/hibernate3.jar

* 加入数据库驱动(mysql驱动)

具体的操作步骤参考我的上一篇博客:【hibernate进阶】如何在myeclipse中添加jar包

3、提供hibernate.cfg.xml文件,完成基本的配置

<strong><span style="font-size:18px;"><!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_first</property>
        <property name="hibernate.connection.username">root</property>
        <property name="hibernate.connection.password">123</property>
        <!-- mysql language adatper,if you want to change database ,you juse need to change there  -->
        <!-- <property name="hibernate.connection.dialect">org.hibernate.dialect.MySQLDialect</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></span></strong>

4、建立实体类User.java

<strong><span style="font-size:18px;"><strong><span style="font-size:18px;">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;
	}

}</span></strong>
</span></strong>

5、提供User.hbm.xml文件,完成实体类的映射

<strong><span style="font-size:18px;"><?xml version="1.0"?>
<!DOCTYPE hibernate-mapping SYSTEM "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></span></strong>

6、将User.hbm.xml文件加入到hibernate.cfg.xml文件中

这个在3步的时候已经加进去了

7、编写工具类ExoprtDB.java,将hbm生成ddl,也就是hbm2ddl

<strong><span style="font-size:18px;">package com.bjpowernode.hibernate;

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

/**
 * hbm  Generation ddl
 * @author CXC
 *
 */
public class ExoprtDB {

	public static void main(String[] args){
		//Read by default hibernate.cfg.xml File
		Configuration cfg=new Configuration().configure();

		SchemaExport export=new SchemaExport(cfg);

		export.create(true, true);
	}

}</span></strong>

在这一步的时候,就可以生成user表了,run as java application ,查看数据库,就可以生成user表了。

8、建立客户端类Client,添加用户数据到mysql

<strong><span style="font-size:18px;">package com.bjpowernode.hibernate;

import java.text.SimpleDateFormat;
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) {

		//read hibernate.cfg.xml file
		Configuration  cfg=new Configuration().configure();

		//sessionfactory thread safe
		//build sessionfactory
		SessionFactory factory=cfg.buildSessionFactory();

		//acquire session
		Session session=null;
		try{

			session=factory.openSession();
			//open Transaction
			session.beginTransaction();
			User user=new User();
			user.setName("12");
			user.setPassword("123");
			/*  user.setCreateTime(new Date());
	 			user.setExpireTime(new Date());*/

			Date date=new Date();
            SimpleDateFormat temp=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
             String date2=temp.format(date);
             Date date3=temp.parse(date2);  

             user.setCreateTime(date3);
 			user.setExpireTime(date3);

			//save User object
			session.save(user);

			//commit Transaction
			session.getTransaction().commit();

		}catch(Exception e){
			e.printStackTrace();
			//rollback  Transaction
			session.getTransaction().rollback();

		}finally{
			if(session !=null){
				if(session.isOpen()){
					//close session
					session.close();

				}

			}

		}

	}

}
</span></strong>

在console中,输入的insert into user(.....)信息表示将数据插入到数据库中了。

通过navicat,查看插入的数据

这样,hibernate的项目就完成了。

遇到的问题:

在插入的时候,遇到了日期插不进去的问题。以为是mysql引用的jar包问题,重新引用了没有解决,想到了在之前也遇到过类似的问题,把转了一下日期的格式就解决了。

时间: 2024-10-15 23:58:55

【hibernate进阶】hibernate搭建开发环境+实例讲解的相关文章

深入浅出Docker(五):基于Fig搭建开发环境

概述 在搭建开发环境时,我们都希望搭建过程能够简单,并且一劳永逸,其他的同事可以复用已经搭建好的开发环境以节省开发时间.而在搭建开发环境时,我们经常会被复杂的配置以及重复的下载安装所困扰.在Docker技术未出现之前,我们可以使用Pupet.Chef.Ansible等配置管理工具把复杂的配置管理起来,这样的管理配置技术仍然是目前比较流行的方式之一.配置管理工具使用的都是自己的DSL语法定义,考虑到环境的复杂性,配置一套通用的开发环境需要针对各个系统定制,对于大部分开发环境这种维护成本仍然是很高的

最新版Cordova 5.3.1(PhoneGap)搭建开发环境

引言 简单介绍一下Cordova的来历,Cordova的前身 叫PhoneGap,自被Adobe收购后交由Apache管理,并将其核心功能开源改名为Cordova.它能让你使用HTML5轻松调用本地API接 口和发布应用到商店的应用开发平台.有低成本,低开发周期,轻量化等优点.它统一封装了 Andriod,IOS,WindowsPhone,Symbian等几大移动开发平台的API,采用HTML5+JavaScript的混合开发的模式 来开发智能移动的APP,解决系统兼容等问题.使用Cordova

Android移动APP开发笔记——最新版Cordova 5.1.1(PhoneGap)搭建开发环境

引言 简单介绍一下Cordova的来历,Cordova的前身叫PhoneGap,自被Adobe收购后交由Apache管理,并将其核心功能开源改名为Cordova.它能让你使用HTML5轻松调用本地API接口和发布应用到商店的应用开发平台.有低成本,低开发周期,轻量化等优点.它统一封装了Andriod,IOS,WindowsPhone,Symbian等几大移动开发平台的API,采用HTML5+JavaScript的混合开发的模式来开发智能移动的APP,解决系统兼容等问题.使用Cordova把APP

Linux程序设计(搭建开发环境--curses)

看官们,咱们今天要说的内容,是前面内容的一点小补充,具体的内容是:安装curses开发包,以搭建 开发环境.闲话休说,言归正转. 我们在前面说过搭建开发环境的内容,主要说了开发环境中的GCC和VIM,今天咱们会说如何搭建开发环境 中的另外一个工具:curses. curses是Linux上的一个图形库,不过我们使用的Mint只安装了库文件,没有安装与该库相关的头文件.没 有这些头文件,就不能进行相关的开发工作.因此,如果我们想使用Linux开发一些简单的图形软件的话,就 需要安装与该相关的头文件

Hadoop学习笔记(4) ——搭建开发环境及编写Hello World

Hadoop学习笔记(4) ——搭建开发环境及编写Hello World 整个Hadoop是基于Java开发的,所以要开发Hadoop相应的程序就得用JAVA.在linux下开发JAVA还数eclipse方便. 下载 进入官网:http://eclipse.org/downloads/. 找到相应的版本进行下载,我这里用的是eclipse-SDK-3.7.1-linux-gtk版本. 解压 下载下来一般是tar.gz文件,运行: $tar -zxvf eclipse-SDK-3.7.1-linu

3、Cocos2dx 3.0游戏开发找小三之搭建开发环境

尊重开发人员的劳动成果.转载的时候请务必注明出处:http://blog.csdn.net/haomengzhu/article/details/27107295 搭建开发环境 使用 Cocos2d-x 的一个非常大便利之处在于,我们能够在 PC 或 Mac 环境下完毕编码和大部分的调试,然后再迁移到其它设备 上做实际环境測试.这意味着我们能够在 PC 上开发游戏.然后以极其低廉的成本把游戏迁移到 iOS 或其它平台上,从而节 省了开发阶段支付在设备方面的很多费用. 前面提到,Cocos2d-x

cocos2dx搭建开发环境

windows7 64位 搭建cocos2dx 版本开发环境 目前cocos2dx分为2.x版本和3.x版本,搭建环境稍有不同 先搭建3.1版本win32开发环境 相关准备: 注意:安装路径尽可能不要有中文 cocos2d-x-3.1 Visual Studio - vs 2012及以上, 低级的不支持 Python:安装的版本是:python-2.7.8.amd64.msi  cocos2dx需要python脚本支持 cocos2dx直接解压就行 vs2012安装过程很简单,几乎默认下一步就行

ExtJs学习-搭建开发环境

Extjs是一个非常棒的ajax框架,可以用来开发十分绚丽外观的客户端框架,能使B/S框架更加具有活力.它是一个用javascript编写的框架,与后台技术无关的ajax框架.因此,可以把ExtJs使用在asp.net.java.php等语言开发的应用程序中. 本人学习使用的是3.4版本,在3.4版本上进行学习和实验. 首先是获取Extjs框架,下载之后,解压文件到当前文件夹,目录如下所示: 编写第一个ExtJS程序 在eclipse工具中新建一个项目,引入ExtJs类库,代码在Eclipse中

Win10 IoT C#开发 1 - Raspberry安装IoT系统及搭建开发环境

原文:Win10 IoT C#开发 1 - Raspberry安装IoT系统及搭建开发环境 Windows 10 IoT Core 是微软针对物联网市场的一个重要产品,与以往的Windows版本不同,是为物联网设备专门设计的,硬件也不仅仅限于x86架构,同时可以在ARM架构上运行. The Raspberry Pi Foundation 是英国一个致力于科技推广的慈善组织,为广发爱好者和DIY科技迷开发了搭载ARM架构处理器的 mini 电脑 Raspberry Pi 并获得了成功.而微软最新发