`

第一章Hibernate开发与实战学习

阅读更多

首先要做一下准备工作,即获得所有的jar包和相应的工具。

1.myeclipse ---7.0 +

2.Oracle------(mysql)均可

3.数据库的驱动--本人用的是oracle的 ---ojdbc14.jar

4.到www.hibernate.org 网站上下载最新的hibernate框架,我用的是hibernate-distribution-3.3.2.GA,解压缩后,打开可以看到hibernate3.jar,这是hibernate的核心包,但是仅仅这一个包是不够的,他还需要别的依赖库。打开该文件下的lib下,会发现有一个required文件夹,里面都是所需的依赖库。但是还是少一个slf4.jar的实现类。

easy,下载一个即可,直接到slf4官方网址下载即可。下载解压之后,slf4j-simple-1.5.10.jar。最新的即可。然后此时这些包便构成了,应用hibernate的最小核心库。共八个文件。

他们是:antlr-2.7.6.jar,commons-collections-3.1.jar,dom4j-1.6.1.jar,hibernate3.jar,

javassist-3.9.0.GA.jar,jta-1.1.jar,slf4j-api-1.5.10.jar,slf4j-simple-1.5.10.jar

 

准备工作做完了后,就要进行实践了。

第一步,建立一个java project,名为chapter01_first

第二步,建立自己的书库库表格.可以通过pl/sql工具建立,也可以sql建立,均可。同时建立了一个序列,如果用mysql的就不用这样了,mysql中提供了自动增加的功能。

     表格的sql语句为:

drop table guestbook;
create table GUESTBOOK
(
ID NUMBER(8) not null primary key,    --留言id
NAME  VARCHAR2(20) not null,            --留言者的姓名
PHONE VARCHAR2(20),                        --留言者的电话号码
EMAIL VARCHAR2(20),                          --留言者的email
TITLE VARCHAR2(80) not null,              --留言的标题
CONTENT VARCHAR2(2000),                 --留言内容
CREATE_TIME DATE not null                  --留言创建的日期
);
 create sequence  gb_seq increment by 1 start with 1 nocycle;  --id 的序列

第三步,建立持久化类,与这个表对应:

package com.crazy.exmples;

import java.util.Date;

public class GuestBook {
	
	//对应数据库中的字段,该类叫做持久化类
	private  Integer id;
	private String name;
	private String email;
	private String phone;
	private String title;
	private String content;
	private Date createTime;
	getters and setters......
	
}

 第四步,配置数据库,把hibernate.cfg.xml从下载的框架里的tutorials中拷贝出该文件,放在src目录下。

<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
        "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
        "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

<hibernate-configuration>

    <session-factory>

        <!-- Database connection settings -->
        <property name="connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
        <property name="connection.url">jdbc:oracle:thin:@localhost:1521:ora92</property>
        <property name="connection.username">scott</property>
        <property name="connection.password">tiger</property>

        <!-- JDBC connection pool (use the built-in) -->
        <property name="connection.pool_size">2</property>

        <!-- SQL dialect -->
        <property name="dialect">org.hibernate.dialect.Oracle9iDialect</property>

        <!-- Enable Hibernate's current session context -->
        <property name="current_session_context_class">thread</property>

        <!-- Echo all executed SQL to stdout -->
        <property name="show_sql">true</property>
        <property name="format_sql">false</property>

         <!--指定数据库映射的配置文件所在路径-->
        <mapping resource="com\crazy\examples\GuestBook.hbm.xml"/>

    </session-factory>

</hibernate-configuration>

 

第五步,配置映射关系,再从中拷贝出用于映射持久化类和数据库表的配置文件,user.hbm.xml。重新命名为GuestBook.hbm.xml,放在和GuestBook所在的包中。

<?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 
	package="com.crazy.examples">

	<class name="GuestBook" table="GUESTBOOK" lazy="true">
		<comment>Users may bid for or sell auction items.</comment>
		
		<id name="id">
			<generator class="sequence">
			<param name="sequence">gb_seq</param>
			</generator>
		</id>
		
		<property name="name" column="name" type="java.lang.String"/>
		<property name="email" column="email" type="java.lang.String"/>
		<property name="title" column="title" type="java.lang.String"/>
		<property name="content" column="content" type="java.lang.String"/>
		<property name="phone" column="phone" type="java.lang.String"/>
		<property name="createTime" column="create_time" type="java.util.Date"/>		
		
	</class>
	
</hibernate-mapping>

 基本工作完毕。

最后是测试工作,编写一个HibernateText的测试类

package com.crazy.examples;

import java.util.Date;

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

public class HibernateTest {

	public static void main(String[] args) {

		GuestBook gb = new GuestBook();
		gb.setName("test");
		gb.setEmail("test");
		gb.setPhone("7758521");
		gb.setTitle("test");
		gb.setContent("test");
		gb.setCreateTime(new Date());
		
	
		
		//load the config files
		Configuration config = new Configuration();
		config.configure();
		
		SessionFactory sessionFactory = config.buildSessionFactory();
		Session session = sessionFactory.getCurrentSession();
		Transaction tx = session.beginTransaction();
		session.save(gb);
		tx.commit();
                sessionFactory.close();
	}

}
 

运行,可以考单console中会出现很多记录信息,并且还会显示调用的sql。

最后,查看数据库,看是否插入了词条数据。

代码中有很多<br>,要删除。第一次写这么长的文章,写给自己看的如果有朋友看,则更好。

0
0
分享到:
评论

相关推荐

    Hibernate实战(第2版 中文高清版)

    第一部分 从Hibernate和EJB 3.0开始  第1章 理解对象/关系持久化   1.1 什么是持久化   1.1.1 关系数据库   1.1.2 理解SQL   1.1.3 在Java中使用SQL   1.1.4 面向对象应用程序中的持久化   1.2 范式不...

    零基础学Java Web开发

     第一篇 Java语言基础  第1章 初识Java语言  第2章 Java基础语法  第3章 Java面向对象编程  第二篇 JSP基本知识  第4章 JSP基本语法  第5章 JSP内置对象  第6章 JSP与JavaBean  第7章 JSP与JDBC ...

    Spring+3.x企业应用开发实战光盘源码(全)

     第12章:讲解了如何在Spring中集成Hibernate、myBatis等数据访问框架,同时,读者还将学习到ORM框架的混用和DAO层设计的知识。  第13章:本章重点对在Spring中如何使用Quartz进行任务调度进行了讲解,同时还涉及...

    疯狂Ajax讲义:Prototype/jQuery+DWR+Spring+Hibernate整合开发(part01)

    第一部分介绍了XHTML、CSS、JavaScript和DOM编程等内容。第二部分详细介绍了Prototype、jQuery、DWR、AjaxTags等四个最常用的Ajax框架的用法,并针对每个框架提供了一个实用案例。这两个部分是笔者在“疯狂Java实训...

    《轻量级J2EE企业应用实战--Struts+Spring+Hibernate整合开发》电子书 1/3

    PDF格式清晰完整版(1-10章)(共三个部分) 此为第一部分

    轻量级J2EE企业应用实战:Struts+Spring+Hibernate整合开发

    轻量级J2EE企业应用实战,详细讲述了SSH开发的方方面面,是一本极好的入门书籍。 本书所介绍的内容是作者多年J2EE开发经验的总结,内容涉及三个开源框架:Struts、Hibernate和Spring,还介绍了Tomcat和Jetty两个...

    J2EE 企业应用实战:Struts+Spring+Hibernate 整合开发

    本书不仅是一本J2EE入门图书,还详尽而细致地介绍了JSP各个方面,包括JSP2.0的规范、 Struts的各种用法、 Hibernate的详细用法,以及Spring的基本用法。书中所介绍的轻量级J2EE应用,是目前最流行、最规范的J2EE...

    轻量级J2EE 企业应用实战 Struts+Spring+Hibernate整合开发

    本书所介绍的内容是作者多年J2EE 开发经验的总结,内容涉及Struts 、Hibernate 和Spring 三个开源 框架,还介绍了Tomcat 和Jetty 两个开源Web 服务器的详细用法,以及J2EE 应用的几种常用架构。 本书不仅是一本J2EE ...

    JAVA WEB典型模块与项目实战大全.part1(第一卷)

    第18章 Hibernate分页系统(Hibernate3.0) 第19章 生成保表(Struts 2.X+Hibernate+JXL) 第20章 数据格式转换(Struts 2.X+Hibernate+Dom4j) 第21章 用户维护功能(Struts 2.X+iBATIS) 第22章 用户登录模块...

    轻量级J2EE企业应用实战:Struts+Spring+Hibernate 整合开发.part1

     本书不仅仅是一本J2EE入门图书,还详尽而细致地介绍了JSP各个方面,包括JSP 2.0的规范、Struts的各种用法、Hibernate的详细用法,以及Spring的基本用法。书中所介绍的轻量级J2EE应用,是目前最流行、最规范的...

    轻量级J2EE企业应用实战:Struts+Spring+Hibernate 整合开发.part2

     本书不仅仅是一本J2EE入门图书,还详尽而细致地介绍了JSP各个方面,包括JSP 2.0的规范、Struts的各种用法、Hibernate的详细用法,以及Spring的基本用法。书中所介绍的轻量级J2EE应用,是目前最流行、最规范的...

    轻量级J2EE企业应用实战:Struts+Spring+Hibernate 整合开发.part3

     本书不仅仅是一本J2EE入门图书,还详尽而细致地介绍了JSP各个方面,包括JSP 2.0的规范、Struts的各种用法、Hibernate的详细用法,以及Spring的基本用法。书中所介绍的轻量级J2EE应用,是目前最流行、最规范的...

    Spring3.x企业应用开发实战(完整版) part1

    Spring3.0是Spring在积蓄了3年之久后,隆重推出的一个重大升级版本,进一步加强了Spring作为Java领域第一开源平台的翘楚地位。  Spring3.0引入了众多Java开发者翘首以盼的新功能和新特性,如OXM、校验及格式化框架...

    Spring.3.x企业应用开发实战(完整版).part2

    Spring3.0是Spring在积蓄了3年之久后,隆重推出的一个重大升级版本,进一步加强了Spring作为Java领域第一开源平台的翘楚地位。  Spring3.0引入了众多Java开发者翘首以盼的新功能和新特性,如OXM、校验及格式化框架...

    轻量级 J2EE 企业应用实战:Struts+Spring+Hibernate 整合开发.part2.rar

     本书不仅仅是一本J2EE入门图书,还详尽而细致地介绍了JSP各个方面,包括JSP 2.0的规范、Struts的各种用法、Hibernate的详细用法,以及Spring的基本用法。书中所介绍的轻量级J2EE应用,是目前最流行、最规范的J2EE...

    轻量级 J2EE 企业应用实战:Struts+Spring+Hibernate 整合开发.part1.rar

     本书不仅仅是一本J2EE入门图书,还详尽而细致地介绍了JSP各个方面,包括JSP 2.0的规范、Struts的各种用法、Hibernate的详细用法,以及Spring的基本用法。书中所介绍的轻量级J2EE应用,是目前最流行、最规范的J2EE...

    Java数据库技术详解 DOC简版

    第一篇 数据库基础篇 第1章 Java和数据库 1.1 Java概述 1.2 Java的开发和运行环境 1.3 数据库概述 1.4 数据持久层 1.5 本章小结 第2章 SQL语句基础之DDL 2.1 DDL基础 2.2 DDL操作视图 2.3 本章...

    零基础学Java Web 开发(源代码 3到8章)

    第17章是实战篇,主要以HibernateJpetstore为基础,详细地分析了综合使用 struts+Spring+Hibernate开发一个电子商务网站的基本方法和步骤,在具体项目中展示Struts、spring和Hibernate的具体使用方法。  本书每章...

Global site tag (gtag.js) - Google Analytics