利用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"指的是在Java编程环境中使用Hibernate框架进行的初次实践,这个项目是为了帮助开发者快速理解并上手Hibernate。Hibernate是一个开源的对象关系映射(ORM)框架,它允许开发...
这个简单的HelloWorld实例展示了Spring MVC和Hibernate的集成,以及如何进行基本的数据验证。 通过这个实例,你可以了解到如何将Spring MVC用于处理HTTP请求,使用Hibernate进行数据库操作,以及如何结合Spring的...
【hibernate_HelloWorld】项目是一个入门级的教程,旨在帮助初学者了解并实践Hibernate框架的基本用法。Hibernate是一个强大的Java对象关系映射(ORM)框架,它简化了数据库与Java应用程序之间的交互,使开发者可以...
Hibernate教程01_Hibernate的HelloWorld及基本配置 http://blog.csdn.net/e421083458/article/details/8794127 该源码为Hibernate教程配套源码
在`hibernate4_HelloWorld`示例中,你可能找到了类似的代码片段,它们演示了上述的CRUD操作。运行这个示例,你可以看到Hibernate如何自动化处理与数据库的交互,使得代码更加简洁和易读。 通过以上步骤,你已经成功...
《Hibernate HelloWorld:初识持久化框架的奥秘》 Hibernate,作为Java领域中的一款主流对象关系映射(ORM)框架,极大地简化了数据库操作。它允许开发者使用面向对象的方式来处理数据库,而无需直接编写SQL语句,...
**标题:“Hibernate的HelloWorld版”** 在Java世界中,Hibernate是一个非常著名的对象关系映射(ORM)框架,它简化了数据库操作,使得开发者可以用Java对象来处理数据,而无需直接编写SQL语句。"Hibernate的Hello...
【hibernate helloworld入门级代码】是针对初学者的一个简单示例,旨在帮助理解Hibernate这一流行的Java对象关系映射(ORM)框架的基本用法。在这个项目中,我们将探讨Hibernate如何将Java对象与数据库中的记录关联...
在"标签"中,"spring 整合 hibernate helloworld"进一步强调了这是关于Spring与Hibernate整合的基础教学,可能包含了一个简单的入门级示例。"helloworld"通常表示最基础的程序,用于展示框架的基本用法。 在"压缩...
《Hibernate之HelloWorld详解》 Hibernate,作为Java领域中的一款著名对象关系映射(ORM)框架,极大地简化了数据库操作,使得开发者可以更加专注于业务逻辑,而非底层的SQL语句。在本文中,我们将深入探讨如何使用...
3. **Hibernate HelloWorld程序**:这通常是一个简单的示例项目,用于展示如何配置和使用Hibernate进行基本的数据操作,例如创建实体、配置映射文件、建立会话并执行CRUD操作。 4. **导入和运行**:描述提到下载后...
**Hibernate HelloWorld** 是一个入门级的教程项目,旨在帮助初学者理解并掌握Java持久化框架Hibernate的基本用法。在这个项目中,我们使用了Hibernate 4.3.11.Final版本,这是Hibernate的一个稳定版本,提供了对JPA...
第6课 第一个示例Hibernate HelloWorld 7 第7课 建立Annotation版本的HellWorld 9 第8课 什么是O/R Mapping 11 一、 定义: 11 二、 Hibernate的创始人: 11 三、 Hibernate做什么: 12 四、 Hibernate存在的原因: ...
建立新的java项目 名为:hibernate_0100_HelloWorld 2. 学习建立User-hibernate 并加入相应的包 a)项目右键build path-configure build path-add library b)选择User-library,在其中新建library 命名为hibernate...
**Hibernate 4.0版HelloWorld** 在Java开发中,Hibernate是一个非常重要的对象关系映射(ORM)框架,它简化了数据库操作,使得开发者能够用Java对象来处理数据,而无需关心底层SQL语法。本教程将详细介绍如何在...
## 示例:Hibernate HelloWorld 假设我们有一个简单的User实体,包含id、name和email属性。我们可以按照以下步骤进行操作: 1. 创建User实体类,添加`@Entity`和字段注解。 2. 编写`hibernate.cfg.xml`,配置...
通过编写简单的HelloWorld程序,引入Hibernate和Annotation,创建第一个数据库操作实例,了解基本的Session和Transaction使用。 ### 第 7 课 建立 Annotation 版本的 HelloWorld 在此阶段,将HelloWorld示例转换为...
本篇文章将带你入门Struts2,通过创建一个简单的"HelloWorld"示例来理解其核心概念。 首先,了解Struts2框架的基本组成: 1. **Action类**:这是业务逻辑的入口点,处理用户请求并返回结果。在我们的"HelloWorld...
"Hibernate HelloWorld"是入门的典型例子,通常包括实体类的创建、Session工厂的初始化、会话的打开与关闭,以及CRUD操作(创建、读取、更新、删除)。在这个过程中,你会了解到如何保存和检索一个对象到数据库,...