`

myeclipse开发hibernate应用程序示例

 
阅读更多

今天看了hibernate持久层的概述,就用myeclipse试着动手开发了一个简单的学生信息管理小程序。

在开发之前,先要理解一个概念ORMORMobject-relation mapping)是对象关系映射,对象指的是java中的对象,关系是指关系型数据库,ORM也就是指从Java对象到数据库之间的映射,也就是通过一个类的操作来代表数据库中的操作。而Hibernate是一个ORM的实现,所以,主要功能就是操作数据库(以对象的形式操作数据库)。

ORM模式图如下:

 

本人运用的开发环境为:Eclipse3.2.1+MyEclipse5.1集成开发环境,数据库为MySQL4.01版本。

下面开始动手吧……
S1创建数据库,数据库脚本如下:

create database hibernate;
use hibernate;
create table Student
(
      id varchar(
32) not null primary key,
      sName varchar(
20) not null,
      sNO varchar(
20) not null,
      sex varchar(
2),  
      email varchar(
30)
);

 

S2:配置MyEclipse环境,使之能够生成HBM文件,即Hibernate映射文件,过程如下:

配置MySQL驱动程序:

Eclipse中,点击Window ->Preferences->MyEclipse -> Database Explorer -> Drivers -> New…

 

选择Driver template 为:MySQL Connector/J

URL: jdbc:mysql://localhost:3306/hibernate,其中hibernate为数据库名称;

添加MySQL驱动:mysql"lib"mysqldriver.jar,点击 OK

现在只是配置好数据库的环境,但是还没有真正的生成它,还要创建Database Profile方法如下:

打开Window -> Open Perspective->MyEclipse Database Explorer

选择其中的New 图标,上面那个是我以前做过的,因此在新建一个。

 

Profile name 由自己来定,我定为JDBC for MySQLDriver 就是选由上面刚刚配置过的

MySQL Connector/J,点击Next -> Finish

 

右键刚刚创建的JDBC for MySQL2,打开Open connection…

 

出现了我们刚刚创建的数据库student,好了,可以松一口气了,暂时先放一放,后面还会用到这个界面的,在打开Window -> Open Perspective->Java界面。

S3新建一个J2EEWeb Project ,工程名为StuHibernate

 

然后给这个项目添加hibernate必要的文件.在我们项目名上点击右键,选择MyEclipes --> Add Hibernate Capabilities...弹出对话框如下图:

 

其中,JAR Library Installation 选为 Copy checked Library Jars to Project …项,其它项均为默认,点击Next,进入下一个页面后,继续点击Next,进入第三个页面

 

选择 DB Profile 文件JDBC for MySQL,就是我们在S2步骤中配置的数据库驱动,在这里,我们就什么也不用手动添写了,直接生成,这就是S2步骤的好处,其中数据库的言也选为MySQL,点击Next进入下一页面

取消对Crate SessionFactory class? 选项的选择,点击Finish。项目结构如下图:

 

 src 目录下产生了一个hibernate.cfg.xml 文件:主要是对Hibernate环境配置的,包括使用的数据库或数据源。Eclipse为此提供了图形环境配置,配置方法为在S2步骤中以配置好了,因此直接生成了如下页面:

 

其中本人数据库密码为空,因此什么都没有写。由于MySQL数据库驱动以经加了WEB-INF/lib文件夹中,上面的图中以有显示。如果没有加入,则复制到里面。一切准备工作都以就绪,下面我们就开始真正的编写代码了!(终于写到一半了,好累啊,呵呵)

S4编写POJO类,也就是持久化类:只包含settergetter方法的类。POJOPlain Old Java Objects)是最普通的Java对象,很像JavaBean。类名最好和表名相同,开头最好大写,Student.java

 

包名:com.cc.hibernate

类名:Student

代码如下:

package com.cc.hibernate;
//POJO类
public class Student {
   
//写入若干属性
    private String id;
    
private String sname;
    
private String sno;
    
private String sex;
    
private String email;
    
public String getEmail() {
       
return email;
    }
    
public void setEmail(String email) {
       
this.email = email;
    }
    
public String getId() {
       
return id;
    }
    
public void setId(String id) {
       
this.id = id;
    }
    
public String getSex() {
       
return sex;
    }

    
public void setSex(String sex) {
       
this.sex = sex;
    }

    
public String getSname() {
       
return sname;
    }

    
public void setSname(String sname) {
       
this.sname = sname;
    }

    
public String getSno() {
       
return sno;
    }

    
public void setSno(String sno) {
       
this.sno = sno;
    }
}

S5建立映射文件,在次打开Window -> Open Perspective->MyEclipse Database Explorer,接到S2步骤

 

右键点击student表,打开Hibernate Reverse Engineering…

创建到包含有POJO类包的文件夹下:

点击 Next,进入下一页面

 

Type Mapping Hibernate types

主键生成方式选为 assigned(指派),由用户自行完成,单击 Next,最后点击 Finish

在次切回 Window -> Open Perspective->Java界面,出现 Student.hbm.xml映射文件,双击打开查看其代码。

此文件完成Student类到student表的关系

S6编写具体类,具体操作Hibernate 方法,在Com.cc.hibernate包下

新建类 StudentOperate.java

package com.cc.hibernate;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
import org.hibernate.Transaction;
public class StudentOperate {
    
//在Hibernate中,所有的操作都是通过Session完成
    
//此Session不同于JSP的Session
    private Session session=null;
    
//在构造方法之中实例化session对象
    public StudentOperate(){
       
// 找到Hibernate配置
       Configuration config=new Configuration().configure();
       
//从配置中取出SessionFactory
       SessionFactory factory=config.buildSessionFactory();
       
//从SessionFactory中取出一个Session
       this.session=factory.openSession();
    }

   

    
//所有操作都是由session进行的
    
//向数据库中增加数据
    public void insert(Student student){
       
//开始事务
       Transaction tran=this.session.beginTransaction();

       
//执行语句
       this.session.save(student);

       
//提交事务
       tran.commit();
    }
}

 

S7com.cc.hibernate 包下新建一个测试类 StudentTest.java

代码如下:

package com.cc.hibernate;
public class StudentTest {
    
public static void main(String[] args) {
       
// TODO Auto-generated method stub
       
//生成POJO类实例化对象
       Student stu=new Student();
       stu.setId(
"006");
       stu.setSname(
"chen");
       stu.setSno(
"03170217");
       stu.setSex(
"");
       stu.setEmail(
"chenchuang.sy@163.com");

       
//实例化 StudentOperate 对象
       StudentOperate op=new StudentOperate();
       op.insert(stu);
    }
}

 

运行后的页面为:

再次查看数据库,看是否添加成功。

如果希望看见所执行的SQL语句,打开hibernate.cfg.xml文件

点击 Add按钮后,出现如下页面:

 

选择Propertyshow_sql,设置Valueture,点击OK

运行后的界面为:

呵呵终于完成了!

分享到:
评论

相关推荐

    MyEclipse+Hibernate快速入门中文版

    文档的最后提供了一个完整的Hibernate Demo项目作为示例,通过这个示例可以更好地理解整个开发流程和最佳实践。 #### 九、总结 本文档全面介绍了如何在MyEclipse环境下配置和使用Hibernate框架。通过详细的步骤...

    使用myeclipse集成struts,hibernate,spring的一个示例程序

    【使用MyEclipse集成Struts、Hibernate、Spring的示例程序】 在Java企业级应用开发中,曾经EJB因其强大的功能和复杂的配置而备受关注。然而,随着Java开源项目的崛起,开发者有了更多轻量级的选择,例如Struts、...

    Myeclipse开发struts+hibernate+spring新手入门--环境配置---项目开发示例

    Spring 是一个全面的Java企业级应用开发框架,提供了依赖注入(DI)、面向切面编程(AOP)、事务管理等功能。在Myeclipse中,添加Spring支持类似Struts和Hibernate,通过Add spring in action in action ...

    myeclipse与hibernate―反向生成实体类和DAO

    MyEclipse是一个基于Eclipse平台的集成开发环境(IDE),它提供了很多实用的功能和插件来帮助开发者快速开发Java应用程序。Hibernate是一个流行的对象关系映射(ORM)框架,用于将Java对象映射到关系数据库中。在...

    利用MyEclipse开发Struts+Hibernate应用.rar_Eclipse_myeclipse_myeclipse

    【描述】提到的是这是一个教程,目的是为开发者提供一个学习如何在MyEclipse中结合Struts和Hibernate进行应用开发的参考。Struts是一个基于MVC(Model-View-Controller)设计模式的Java Web框架,主要负责处理用户...

    MyEclipse中hibernate的配置

    ### MyEclipse中Hibernate的基本配置步骤与理解 #### 一、引言 随着软件开发行业的不断发展,ORM(Object-Relational Mapping,对象关系映射)技术已成为连接对象模型与关系型数据库的重要桥梁之一。其中,...

    MyEclipse Hibernate 快速入门中文版

    《MyEclipse Hibernate 快速入门中文版》是专为初学者设计的指南,旨在帮助开发者迅速掌握在MyEclipse集成开发环境中使用Hibernate框架的基本操作和应用。此资源包括一个HTML文档(MyEclipse_Hibernate_Quickstart_...

    利用MyEclipse开发Struts+Hibernate应用

    MyEclipse作为一款强大的Java集成开发环境,为开发者提供了便利的整合这两者进行应用开发的工具。 **Struts框架**: Struts是Apache软件基金会下的一个开源项目,主要负责处理Web应用程序的控制逻辑。它基于MVC设计...

    jsp+struts+hibernate+myeclipse开发示例

    这个开发示例是针对初学者设计的,旨在帮助他们理解和掌握Java Web应用开发中的MVC(Model-View-Controller)模式,不过这里并未涉及Spring框架。MVC模式是一种广泛应用的软件设计模式,它将业务逻辑、数据和用户...

    Myeclipse 10.0 + Hibernate 4.3.5 连接 Oracle 11G的演示代码

    标题 "Myeclipse 10.0 + Hibernate 4.3.5 连接 Oracle 11G的演示代码" 描述的是一个整合项目,它将Myeclipse 10.0集成开发环境、Hibernate 4.3.5对象关系映射框架与Oracle 11G数据库相结合,用于演示如何在这样的...

    MyEclipse_Hibernate-视频

    7. **示例项目实战**:通过一个具体的案例,如用户管理模块,演示如何使用Hibernate在MyEclipse中进行完整开发,包括数据模型设计、持久化操作、异常处理等。 【压缩包子文件的文件名称列表】中: 1. `MyEclipse_...

    利用MyEclipse进行Hibernate逆向工程

    MyEclipse作为一款非常流行的Java集成开发环境(IDE),不仅支持Java应用程序的开发,还提供了强大的数据库管理功能以及与ORM框架如Hibernate的集成。逆向工程是软件开发过程中的一项重要技能,特别是在已有数据库...

    Myeclipse自动生成Hibernate配置文件及实体类映射ORM

    在这个示例中,我们将展示如何使用 Myeclipse 自动生成 Hibernate 配置文件及实体类映射 ORM 配置文件。 第一步骤:新建一个 Web 项目 在 Myeclipse 中,新建一个 Web 项目,名称随意。然后,点击菜单栏中的 ...

    在Myeclipse中搭建的一个Hibernate小程序

    Myeclipse是Eclipse的商业版本,提供了一整套用于Java开发的强大工具,包括代码编辑、调试、部署、测试等,对于Java Web和企业级应用开发非常方便。 2. **Hibernate框架介绍** Hibernate通过XML映射文件或者注解...

    MyEclipse+Hibernate+快速入门+中文版.pdf

    《MyEclipse+Hibernate快速入门中文版》是一个指导开发者使用MyEclipse集成开发环境和Hibernate框架进行快速开发的教程。该教程适用于具备Java基础、Eclipse及MyEclipse使用经验的开发者,旨在帮助他们理解并掌握...

    MyEclipse_Hibernate_Quickstart中文版

    本文档主要针对初学者介绍了如何利用 MyEclipse 开发环境结合 Hibernate 框架构建一个基本的 Java 应用程序。通过该教程,读者将学习到一系列与 Hibernate 相关的基本概念和技术。 #### 二、准备工作 在开始之前,...

    Myeclipse Oracle9i hibernate3.2 Spring2.5 Struts2简单示例

    自己做的一个Myeclipse Oracle9i hibernate3.2 Spring2.5 Struts2, 包删除了, 自己在myeclipse里添加就行了, 已经调试成功. 建表语句: create table CUSTOMER ( ID INTEGER not null, USERNAME VARCHAR2(12), ...

Global site tag (gtag.js) - Google Analytics