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

一个用myeclipse开发hibernate的入门例子

阅读更多

 

 

 


 

 

 

 一、环境

1.eclipse 3.2.2
2.myeclipse 5.1.1
3.jdk 1.5

二、简要说明

数据库为mysql

 在mysql中建立一个test数据库,建立cat表
CREATE TABLE `cat` (
  `cat_id` varchar(32) NOT NULL,
  `name` varchar(16) NOT NULL,
  `sex` varchar(1) default NULL,
  `weight` float(9,3) default NULL,
  PRIMARY KEY  (`cat_id`)
)

三、步骤

1.导入包的准备工作

a.新建java project.建立包example
在它下面编写类Cat.java

package example;

 public class Cat  implements java.io.Serializable {


    // Fields   

     private String catId;
     private String name;
     private String sex;
     private Float weight;


    // Constructors

    /** default constructor */
    public Cat() {
    }

 /** minimal constructor */
    public Cat(String name) {
        this.name = name;
    }
   
    /** full constructor */
    public Cat(String name, String sex, Float weight) {
        this.name = name;
        this.sex = sex;
        this.weight = weight;
    }

  
    // Property accessors

    public String getCatId() {
        return this.catId;
    }
   
    public void setCatId(String catId) {
        this.catId = catId;
    }

    public String getName() {
        return this.name;
    }
   
    public void setName(String name) {
        this.name = name;
    }

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

    public Float getWeight() {
        return this.weight;
    }
   
    public void setWeight(Float weight) {
        this.weight = weight;
    } 
}

同样在此包下面编写Cat.hbm.xml

  <?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!--
    Mapping file autogenerated by MyEclipse - Hibernate Tools
-->
<hibernate-mapping>
    <class name="example.Cat" table="cat" catalog="testhibernate">
        <id name="catId" type="java.lang.String">
            <column name="cat_id" length="32" />
            <generator class="uuid.hex"></generator>
        </id>
        <property name="name" type="java.lang.String">
            <column name="name" length="16" not-null="true" />
        </property>
        <property name="sex" type="java.lang.String">
            <column name="sex" length="1" />
        </property>
        <property name="weight" type="java.lang.Float">
            <column name="weight" precision="9" scale="3" />
        </property>
    </class>
</hibernate-mapping>

b.在工程的src里面加入一个包,用来存放将要生成的HibernateSessionFactory。包名如(example.util)。
导入hibernate(生成的代码:
package example.util;

import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.cfg.Configuration;

/**
 * Configures and provides access to Hibernate sessions, tied to the
 * current thread of execution.  Follows the Thread Local Session
 * pattern, see {@link http://hibernate.org/42.html }.
 */
public class HibernateSessionFactory {

    /**
     * Location of hibernate.cfg.xml file.
     * Location should be on the classpath as Hibernate uses 
     * #resourceAsStream style lookup for its configuration file.
     * The default classpath location of the hibernate config file is
     * in the default package. Use #setConfigFile() to update
     * the location of the configuration file for the current session.  
     */
    private static String CONFIG_FILE_LOCATION = "/hibernate.cfg.xml";
 private static final ThreadLocal<Session> threadLocal = new ThreadLocal<Session>();
    private  static Configuration configuration = new Configuration();
    private static org.hibernate.SessionFactory sessionFactory;
    private static String configFile = CONFIG_FILE_LOCATION;

    private HibernateSessionFactory() {
    }
 
 /**
     * Returns the ThreadLocal Session instance.  Lazy initialize
     * the <code>SessionFactory</code> if needed.
     *
     *  @return Session
     *  @throws HibernateException
     */
    public static Session getSession() throws HibernateException {
        Session session = (Session) threadLocal.get();

  if (session == null || !session.isOpen()) {
   if (sessionFactory == null) {
    rebuildSessionFactory();
   }
   session = (sessionFactory != null) ? sessionFactory.openSession()
     : null;
   threadLocal.set(session);
  }

        return session;
    }

 /**
     *  Rebuild hibernate session factory
     *
     */
 public static void rebuildSessionFactory() {
  try {
   configuration.configure(configFile);
   sessionFactory = configuration.buildSessionFactory();
  } catch (Exception e) {
   System.err
     .println("%%%% Error Creating SessionFactory %%%%");
   e.printStackTrace();
  }
 }

 /**
     *  Close the single hibernate session instance.
     *
     *  @throws HibernateException
     */
    public static void closeSession() throws HibernateException {
        Session session = (Session) threadLocal.get();
        threadLocal.set(null);

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

 /**
     *  return session factory
     *
     */
 public static org.hibernate.SessionFactory getSessionFactory() {
  return sessionFactory;
 }

 /**
     *  return session factory
     *
     * session factory will be rebuilded in the next call
     */
 public static void setConfigFile(String configFile) {
  HibernateSessionFactory.configFile = configFile;
  sessionFactory = null;
 }

 /**
     *  return hibernate configuration
     *
     */
 public static Configuration getConfiguration() {
  return configuration;
 }

}

对工程名点鼠标右键。选择myeclipse->add

 

hibernate capabicities。

在弹出的窗口选择中Hibernate 3.0 Core Libraries和Hibernate 3.0 Advanced Support Libraries

下面选中Copy checked Library Jars to project folder and add to build-path。点击下一步。

c.默认(hibernate cofig file),下一步。

d.选中User JDBC driver
connect url:  jdbc:mysql://localhost:3306/test
Driver class:  org.gjt.mm.mysql.Driver
username:  root
password: ******
Dialect: mysql

e.在第一行包选择里面,选择在前面第二大步建的包如(example)。点击完成。

f.弹出的画面中 选择properties的add按钮。在Property中加入show_sql,Value中加入true。点确定

保存设置。在mappings中点add加入前面建立的Cat.hbm.xml。最后生成的hibernate.cfg.xml文件如下
<?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">

<!-- Generated by MyEclipse Hibernate Tools.                   -->
<hibernate-configuration>

<session-factory>
 <property name="connection.username">root</property>
 <property name="connection.url">
  jdbc:mysql://localhost:3306/testhibernate
 </property>
 <property name="dialect">
  org.hibernate.dialect.MySQLDialect
 </property>
 <property name="connection.password">123456</property>
 <property name="connection.driver_class">
  org.gjt.mm.mysql.Driver
 </property>
 <property name="show_sql">true</property>
 <mapping resource="example/Cat.hbm.xml" />

</session-factory>

</hibernate-configuration>


3.测试 新建包test 在其中建立测试文件TestHibernate.java
package test;

import java.util.Iterator;
import java.util.List;
import example.*;
import example.util.*;
import org.hibernate.Session;
import org.hibernate.Transaction;

public class TestHibernate {
 Session session=null;
 Transaction tx=null;
public static void main(String[] args) {
 TestHibernate th=new TestHibernate(); 
 List cl=th.getAllCats();
 if(cl!=null){
  Iterator it=cl.iterator();
  while(it.hasNext()){
   Cat cat=(Cat)it.next();
   System.out.println("catID:"+cat.getCatId()+"name:"+cat.getName()+"sex:"+cat.getSex());
  }
 }
  
  

 }
public List getAllCats(){
 session=HibernateSessionFactory.getSession();
 List catlist=null;
 try{
  tx=session.beginTransaction();
  catlist=session.createQuery("from Cat").list();
  return catlist;
 }catch(Exception ex){
  System.err.println(ex.getMessage());
  return null;
 }finally{
  HibernateSessionFactory.closeSession();
 }
}

}

 

 

 

分享到:
评论

相关推荐

    MyEclipse+Hibernate快速入门中文版

    本文档旨在通过一个简单易懂的方式,介绍如何在MyEclipse环境下配置并使用Hibernate框架。这是一份非常适合初学者使用的指南,特别是对于那些希望快速掌握在MyEclipse环境中配置Hibernate基本步骤的学习者来说尤为...

    myeclipse下hibernate入门实例介绍

    本文将详细介绍如何在 MyEclipse 环境下使用 Hibernate 进行一个简单的数据库操作实例。该实例将涵盖从环境搭建到实现增删改查的基本过程。通过这个实例,读者可以对 Hibernate 的基本用法有一个较为全面的理解。 #...

    MyEclipse8.5 Hibernate+mysql入门简单例子

    该例子可以先通过mysql建立数据库 利用myeclipse的逆向工程生成pojo(java简单对象),dao(数据库操作对象),hibernateSession类 快速构建数据库操作架构,适合初学者参考. 关于myeclipse的逆向工程视频可以参考myeclipse...

    Hibernate入门案例源码

    【Hibernate入门案例源码】是针对初学者设计的一份教程,旨在帮助理解并掌握Java持久化框架Hibernate的基础应用。Hibernate是一个强大的ORM(对象关系映射)框架,它简化了数据库与Java对象之间的交互,使开发者可以...

    [原]在MyEclipse中开发Hibernate入门

    在MyEclipse中开发Hibernate入门教程 Hibernate是一个强大的开源对象关系映射(ORM)框架,它简化了Java应用程序与数据库之间的交互。通过提供一个抽象层,Hibernate允许开发者使用面向对象的方式来处理数据库操作...

    MyEclipse Hibernate 快速入门中文教程

    MyEclipse是一款强大的Java集成开发环境,而Hibernate则是一个优秀的对象关系映射(ORM)框架,它极大地简化了Java应用程序对数据库的操作。本教程旨在帮助初学者快速掌握如何在MyEclipse中配置和使用Hibernate,...

    MyEclipse Hibernate快速入门中文版

    【MyEclipse Hibernate快速入门中文版】是一份旨在帮助初学者快速掌握MyEclipse集成环境下的Hibernate框架使用的教程。Hibernate是一个强大的Java持久化框架,它简化了数据库与Java对象之间的交互,使得开发者能够...

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

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

    myeclipse2013+springmvc3.1+hibernate4实例

    【描述】"这里实现了登陆界面和操作数据库的功能,是学习springmvc和hibernate4入门的很好的代码例子"表明这个实例项目不仅包含了基本的用户登录功能,还涵盖了数据库操作,这是许多Web应用的基础。在SpringMVC中,...

    myeclipse_SH入门实例

    总之,“myeclipse_SH入门实例”是一个引导初学者理解如何在MyEclipse环境下使用Struts和Hibernate协同工作的实践教程。它强调了MVC架构的实现,对象关系映射的概念,以及如何在实际项目中配置和使用这两个框架。...

    MyEclipse_Hibernate_快速入门中文版.rar

    【标题】:MyEclipse_...通过这个快速入门教程,读者可以系统地学习如何在MyEclipse环境中配置和使用Hibernate,实现高效、便捷的Java数据库开发。教程内容详细,适合初学者逐步实践,有助于快速上手Hibernate框架。

    MyEclipse开发Struts+Spring+Hibernate入门.pdf

    Struts是Java Web开发中的一个开源框架,用于构建基于MVC(Model-View-Controller)模式的应用程序。在MyEclipse中,通过添加Struts Capabilities可以快速构建Struts项目。首先,我们需要创建一个新的Web Project,...

    struts+hibernate入门实例(eclipse版)

    ### Struts + Hibernate 入门实例(Eclipse 版) #### 一、开发环境搭建 在本章节中,作者朱千平将引导我们完成开发环境的搭建,包括以下几个步骤: 1. **下载安装Eclipse**: Eclipse 是一个开源的集成开发环境...

    hibernate开发流程 入门

    在Java开发中,Hibernate是一个非常流行的持久化框架,它简化了数据库操作,使得开发者可以专注于业务逻辑而无需过多关注底层SQL的编写。本篇将详细介绍Hibernate的开发流程,从环境搭建到实际操作,帮助初学者快速...

    struts+hibernate入门实例

    在这个"struts+hibernate入门实例"中,数据库选择了Oracle 10g,这是一款功能强大的关系型数据库管理系统。开发者需要配置Hibernate的连接池和数据源,以便应用程序能够正确地访问Oracle数据库。 开发环境Eclipse ...

    webwork+spring+hibernate入门实例

    《webwork+spring+hibernate入门实例》 在当今的Web开发领域,Spring、Hibernate和WebWork(现称为Struts 2)是三个极为重要的框架。本实例将引导初学者深入理解这三大框架的集成与应用,以及如何与MySQL数据库进行...

    struts+spring+hibernate经典整合入门myeclipse实例

    Spring则是一个全面的后端开发框架,它提供了依赖注入(DI)和面向切面编程(AOP)等核心功能。Spring的DI允许开发者在运行时通过配置文件来管理对象及其依赖关系,降低了对象间的耦合度。AOP则允许开发者定义横切...

    MyEclipse(Struts+Spring+Hibernate)入门实例

    ### MyEclipse(Struts+Spring+Hibernate)入门实例解析 #### 一、概述与环境配置 本教程旨在通过一个实际的项目案例,介绍如何利用MyEclipse集成开发环境搭建Struts+Spring+Hibernate(SSH)框架,实现一个基础的...

Global site tag (gtag.js) - Google Analytics