`
icarusliu
  • 浏览: 238099 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

hibernate的helloworld

阅读更多

利用hibernate in action来学习hibernate,接触其第一个例子,运行成功。其过程缩写如下,以备查阅。

1.建立项目目录,引入包:

.src

.lib

2.建立数据库表message(id,text,next_message_id);

3.编写Mssage.java:这个类和数据库当中的message表相对应:

 

package hello;

public class Message{
	private Long id;
	private String text;
	private Message nextMessage;
	
	Message(){
	}
	
	public Message(String text){
		this.text = text;
	}
	
	public Long getId(){
		return id;
	}
	
	public void setId(Long id){
		this.id = id;
	}
	
	public String getText(){
		return text;
	}
	
	public void setText(String text){
		this.text = text;
	}
	
	public Message getNextMessage(){
		return nextMessage;
	}
	
	public void setNextMessage(Message nextMessage){
		this.nextMessage = nextMessage;
	}
}

 

 4.编写其映射文件message.hbm.xml:

 

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC 
"-//Hibernate/Hibernate Mapping DTD//EN" 
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
	<class name="hello.Message" table="MESSAGE">
		<id name="id" column="ID">
			<generator class="increment" />
		</id>

		<property name="text" column="TEXT" />

		<many-to-one name="nextMessage" cascade="all"
			column="NEXT_MESSAGE_ID" foreign-key="FK_NEXT_MESSAGE" />

	</class>
</hibernate-mapping>

 

 5.编写HibernateUtil.java来对SessionFactory进行管理

 

package persistence;

import org.hibernate.*;
import org.hibernate.cfg.*;

public class HibernateUtil{
	private static SessionFactory sessionFactory;
	
	static{
		try{
			sessionFactory = new Configuration()
									.configure().buildSessionFactory();
		}catch(Exception ex){
			ex.printStackTrace();
		}
	}
	
	public static SessionFactory getSessionFactory(){
		return sessionFactory;
	}
	
	public static void shutdown(){
		getSessionFactory().close();
	}
}

 

 6.编写hibernate.cfg.xml来对hibernate进行配置:

 

<!DOCTYPE hibernate-configuration SYSTEM
 "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
	<property name="hibernate.c3p0.min_size">5</property>
	<property name="hibernate.c3p0.max)size">20</property>
	<property name="hibernate.c3p0.timeout">300</property>
	<property name="hibernate.c3p0.max)statements">50</property>
	<property name="hibernate.c3p0.idle_test_period">3000</property>
	<property name="show_sql">true</property>
	<property name="format_sql">true</property>
	<property name="myeclipse.connection.profile">mysql</property>
	
	<property name="connection.url">
		jdbc:mysql://localhost:3306/mydb
	</property>
	<property name="connection.username">root</property>
	<property name="connection.password">1</property>
	<property name="connection.driver_class">
		com.mysql.jdbc.Driver
	</property>
	<property name="dialect">
		org.hibernate.dialect.MySQLDialect
	</property>
	<mapping resource="hello/Message.hbm.xml" />
</session-factory>
</hibernate-configuration>

 

 7.编写HelloWorld.java运行主类:

 

package hello;

import java.util.*;
import org.hibernate.*;
import persistence.*;

public class HelloWorld{
	public static void main(String[] args){
		Session session = HibernateUtil.getSessionFactory().openSession();
		Transaction tx = session.beginTransaction();
		Message m = new Message("Hello World");
		session.save(m);
		tx.commit();
		session.close();
		HibernateUtil.shutdown();
	}
}

 

 8.编写ant运行脚本:

 

<project name="HelloWorld" default="compile" basedir=".">
<property name="proj.name" value="HelloWorld"/>
<property name="proj.version" value="1.0"/>
<property name="src.java.dir" value="src"/>
<property name="lib.dir" value="lib"/>
<property name="build.dir" value="bin"/>

<path id="project.classpath">
	<fileset dir="lib">
		<include name="**/*.jar"/>
		<include name="*.jar"/>
	</fileset>
</path>

<patternset id="meta.files">
	<include name="**/*.xml"/>
	<include name="**/*.properties"/>
</patternset>

<target name="clean">
	<delete dir="${build.dir}"/>
	<mkdir dir="${build.dir}"/>
</target>

<target name="compile" depends="clean">
	<mkdir dir="${build.dir}"/>
	<javac srcdir="${src.java.dir}" destdir="${build.dir}" classpathref="project.classpath">
	</javac>
</target>

<target name="copymetafiles">
	<copy todir="${build.dir}">
		<fileset dir="${src.java.dir}">
			<patternset refid="meta.files"/>
		</fileset>
	</copy>
</target>

<target name="run" depends="compile,copymetafiles" description="Build and run HelloWorld">
	<java fork="true" classname="hello.HelloWorld" classpathref="project.classpath">
		<classpath path="${build.dir}"/>
	</java>
</target>
</project>

 

 

最后运行ant run来编译、运行项目。

最后的项目目录结构如下:

helloworld

/src

/hello

HelloWord.java

Message.java

message.hbm.xml

/persistence

HibernateUtil.java

hibernate.cfg.xml

/lib

build.xml

分享到:
评论

相关推荐

    一个简单的hibernate helloworld

    【标题】"一个简单的hibernate helloworld"指的是在Java编程环境中使用Hibernate框架进行的初次实践,这个项目是为了帮助开发者快速理解并上手Hibernate。Hibernate是一个开源的对象关系映射(ORM)框架,它允许开发...

    Spring MVC+hibernate helloworld

    这个简单的HelloWorld实例展示了Spring MVC和Hibernate的集成,以及如何进行基本的数据验证。 通过这个实例,你可以了解到如何将Spring MVC用于处理HTTP请求,使用Hibernate进行数据库操作,以及如何结合Spring的...

    hibernate_HelloWorld

    【hibernate_HelloWorld】项目是一个入门级的教程,旨在帮助初学者了解并实践Hibernate框架的基本用法。Hibernate是一个强大的Java对象关系映射(ORM)框架,它简化了数据库与Java应用程序之间的交互,使开发者可以...

    Hibernate教程01_Hibernate的HelloWorld及基本配置

    Hibernate教程01_Hibernate的HelloWorld及基本配置 http://blog.csdn.net/e421083458/article/details/8794127 该源码为Hibernate教程配套源码

    Hibernate 4——Hello World

    在`hibernate4_HelloWorld`示例中,你可能找到了类似的代码片段,它们演示了上述的CRUD操作。运行这个示例,你可以看到Hibernate如何自动化处理与数据库的交互,使得代码更加简洁和易读。 通过以上步骤,你已经成功...

    hibernate-helloworld

    《Hibernate HelloWorld:初识持久化框架的奥秘》 Hibernate,作为Java领域中的一款主流对象关系映射(ORM)框架,极大地简化了数据库操作。它允许开发者使用面向对象的方式来处理数据库,而无需直接编写SQL语句,...

    hibernate的helloworld版

    **标题:“Hibernate的HelloWorld版”** 在Java世界中,Hibernate是一个非常著名的对象关系映射(ORM)框架,它简化了数据库操作,使得开发者可以用Java对象来处理数据,而无需直接编写SQL语句。"Hibernate的Hello...

    hibernate hellowrold入门级代码

    【hibernate helloworld入门级代码】是针对初学者的一个简单示例,旨在帮助理解Hibernate这一流行的Java对象关系映射(ORM)框架的基本用法。在这个项目中,我们将探讨Hibernate如何将Java对象与数据库中的记录关联...

    spring+hibernate整合demo

    在"标签"中,"spring 整合 hibernate helloworld"进一步强调了这是关于Spring与Hibernate整合的基础教学,可能包含了一个简单的入门级示例。"helloworld"通常表示最基础的程序,用于展示框架的基本用法。 在"压缩...

    Hibernate之HelloWorld

    《Hibernate之HelloWorld详解》 Hibernate,作为Java领域中的一款著名对象关系映射(ORM)框架,极大地简化了数据库操作,使得开发者可以更加专注于业务逻辑,而非底层的SQL语句。在本文中,我们将深入探讨如何使用...

    hibernate所需要的所有jar包

    3. **Hibernate HelloWorld程序**:这通常是一个简单的示例项目,用于展示如何配置和使用Hibernate进行基本的数据操作,例如创建实体、配置映射文件、建立会话并执行CRUD操作。 4. **导入和运行**:描述提到下载后...

    Hibernate HelloWord

    **Hibernate HelloWorld** 是一个入门级的教程项目,旨在帮助初学者理解并掌握Java持久化框架Hibernate的基本用法。在这个项目中,我们使用了Hibernate 4.3.11.Final版本,这是Hibernate的一个稳定版本,提供了对JPA...

    Hibernate笔记 马士兵

    第6课 第一个示例Hibernate HelloWorld 7 第7课 建立Annotation版本的HellWorld 9 第8课 什么是O/R Mapping 11 一、 定义: 11 二、 Hibernate的创始人: 11 三、 Hibernate做什么: 12 四、 Hibernate存在的原因: ...

    hibernatezongjie

    建立新的java项目 名为:hibernate_0100_HelloWorld 2. 学习建立User-hibernate 并加入相应的包 a)项目右键build path-configure build path-add library b)选择User-library,在其中新建library 命名为hibernate...

    Hibernate 4.0版HelloWorld

    **Hibernate 4.0版HelloWorld** 在Java开发中,Hibernate是一个非常重要的对象关系映射(ORM)框架,它简化了数据库操作,使得开发者能够用Java对象来处理数据,而无需关心底层SQL语法。本教程将详细介绍如何在...

    初学hibernate,hibernate入门

    ## 示例:Hibernate HelloWorld 假设我们有一个简单的User实体,包含id、name和email属性。我们可以按照以下步骤进行操作: 1. 创建User实体类,添加`@Entity`和字段注解。 2. 编写`hibernate.cfg.xml`,配置...

    Hibernate -annotation 学习笔记

    通过编写简单的HelloWorld程序,引入Hibernate和Annotation,创建第一个数据库操作实例,了解基本的Session和Transaction使用。 ### 第 7 课 建立 Annotation 版本的 HelloWorld 在此阶段,将HelloWorld示例转换为...

    Struts2入门之HelloWorld

    本篇文章将带你入门Struts2,通过创建一个简单的"HelloWorld"示例来理解其核心概念。 首先,了解Struts2框架的基本组成: 1. **Action类**:这是业务逻辑的入口点,处理用户请求并返回结果。在我们的"HelloWorld...

    hibernate学习笔记

    "Hibernate HelloWorld"是入门的典型例子,通常包括实体类的创建、Session工厂的初始化、会话的打开与关闭,以及CRUD操作(创建、读取、更新、删除)。在这个过程中,你会了解到如何保存和检索一个对象到数据库,...

Global site tag (gtag.js) - Google Analytics