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

Hibernate代码生成插件(eclipse)

阅读更多
阅读对象:
有一些hibernate使用经验的开发人员;
介绍:
在开发程序的时候,后台DAO基本的操作方法编写起来是繁琐冗余的工作。这里介绍一个Hibernate代码生成工具"HibernateSynchronizer"它是一个eclipse插件,主要功能就是帮助我们生成hbm、entity、dao代码。使用代码生成工具的好处是:提高开发效率、代码规范性更强、免除手工编写出现的手误BUG。
环境:
HibernateSynchronizer-3.1.9(下载见附件)
eclipse Indigo Service Release 2
maven3
插件安装:
将附件中的HibernateSynchronizer-3.1.9.zip下载解压(下载见附件);然后将plugins下的com.hudson.hibernatesynchronizer_3.1.9目录copy到${eclipse_home}\dropins目录下;重启eclipse成功后,点击window->prefrences输入hibernate,看到该插件表示安装成功。
使用方法:
1、准备操作
确保已经创建了数据库和表。
2、创建hibernate配置文件
在指定的目录上右键:new->hibernate->hibernate Configuration file,弹出的对话框将让你填写你的jdbc驱动、URL、username、password等属性。
3、生成hibernate映射文件
在指定的目录上右键:new->hibernate->hibernate mapping file,弹出的对话框将让你填写你的jdbc驱动、URL、username、password等属性。输入完成后在tables右边点击refresh按钮(你也可以通过表名称过了如USER_%,表示以USER_开头的所有表),勾上相应表然后点击finish就会在指定目录创建hbm文件,同时还会询问你java代码存放目录指定一个即可。
4、生成DAO代码
在你创建的hbm文件中找到<meta attribute="sync-DAO">true</meta>默认是false改成true保存,就会生成DAO代码。如下图:


测试代码:
Configuration cfg = new Configuration();
		SessionFactory sf = cfg.configure().buildSessionFactory();

		Session session = sf.openSession();
                //自动生成的DAO类
		DamApplicationInfoDAO dao = new DamApplicationInfoDAO(session);
		List<DamApplicationInfo> list = dao.findAll();
		System.out.println("size===========>"+list.size());
		if(session.isOpen()){
			System.out.println("关闭sesion");
			session.close();
		}else{
			System.out.println("sesion已经关闭");
		}
		sf.close();

结果:
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
size===========>0
sesion已经关闭
错误调试:
1、默认生成的hbm文件把表主键也生成为property,如果不修改就会报错:
引用

Exception in thread "main" org.hibernate.InvalidMappingException: Unable to read XML
at org.hibernate.util.xml.MappingReader.readMappingDocument(MappingReader.java:101)
at org.hibernate.cfg.Configuration.add(Configuration.java:513)
at org.hibernate.cfg.Configuration.add(Configuration.java:509)
at org.hibernate.cfg.Configuration.add(Configuration.java:716)
at org.hibernate.cfg.Configuration.addResource(Configuration.java:801)
at org.hibernate.cfg.Configuration.parseMappingElement(Configuration.java:2344)
at org.hibernate.cfg.Configuration.parseSessionFactory(Configuration.java:2310)
at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:2290)
at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:2243)
at org.hibernate.cfg.Configuration.configure(Configuration.java:2158)
at org.hibernate.cfg.Configuration.configure(Configuration.java:2137)
at org.qhy.test.Test.main(Test.java:16)
Caused by: org.xml.sax.SAXParseException: The content of element type "class" must match "(meta*,subselect?,cache?,synchronize*,comment?,tuplizer*,(id|composite-id),discriminator?,natural-id?,(version|timestamp)?,(property|many-to-one|one-to-one|component|dynamic-component|properties|any|map|set|list|bag|idbag|array|primitive-array)*,((join*,subclass*)|joined-subclass*|union-subclass*),loader?,sql-insert?,sql-update?,sql-delete?,filter*,fetch-profile*,resultset*,(query|sql-query)*)".
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:195)
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(ErrorHandlerWrapper.java:131)
at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:384)
at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:318)
at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.handleEndElement(XMLDTDValidator.java:2017)
at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.endElement(XMLDTDValidator.java:901)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEndElement(XMLDocumentFragmentScannerImpl.java:1782)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2939)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:647)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:140)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:511)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:808)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:119)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205)
at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522)
at org.dom4j.io.SAXReader.read(SAXReader.java:465)
at org.hibernate.util.xml.MappingReader.readMappingDocument(MappingReader.java:75)
... 11 more


这个错误的修改办法是将表主键的property标签改为id。
  • 大小: 54.9 KB
分享到:
评论

相关推荐

    Eclipse plugin (hibernate生成工具)

    在本例中,我们关注的是一个特定的Eclipse插件,即"hibernate生成工具"。这个插件专门用于简化基于Hibernate框架的Java应用的开发过程。 Hibernate是一个开源的对象关系映射(ORM)框架,它允许开发者用Java对象来...

    hibernate eclipse插件生成dao样例

    标题中的“hibernate eclipse插件生成DAO样例”指的是使用Eclipse集成开发环境中的Hibernate插件自动生成数据访问对象(DAO)的示例。在Java应用程序开发中,尤其是使用Hibernate作为持久层框架时,DAO层是至关重要...

    Eclipse Hibernate插件

    Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端...

    Hibernate_Tools_for_Eclipse插件的安装和使用

    Hibernate Code Generation 是 Hibernate_Tools_for_Eclipse 插件的一部分,用于生成实体类、DAO 接口和实现类等。下面将介绍如何使用 Hibernate Code Generation 产生实体类。 1. 创建一个新的 Hibernate 工程,...

    eclipse_hibernate3.3IDE插件

    1. **代码生成**:该插件能够自动生成Hibernate配置文件(如`hibernate.cfg.xml`)和实体类,大大减少了手动编写这些文件的工作量。 2. **对象关系映射(ORM)支持**:它可以解析数据库模式并生成对应的Java类,...

    Eclipse数据库hibernate反向生成数据库类

    在本篇文章中,我们将详细介绍如何使用Eclipse中的Hibernate插件反向生成数据库实体类。首先,我们需要安装Hibernate Tools,下载地址为http://www.jboss.org/tools/download/archive/3_1_GA.html,我们只需要下载...

    Eclipse Hibernate Synchronizer插件操作数据库

    Eclipse Hibernate Synchronizer插件是一款强大的开发工具,它为Eclipse IDE提供了集成的Hibernate支持,使得数据库操作和对象关系映射(ORM)更加便捷。这个插件的主要目标是简化数据库与Java实体类之间的同步过程...

    eclipse安装hibernate的jboss tools插件

    通过安装这个插件,开发者可以在Eclipse环境中更直观地管理Hibernate实体、配置数据源,进行HQL查询测试,以及进行持久化操作的调试,从而简化开发流程,提高代码质量。同时,这也反映了Eclipse平台的开放性和扩展性...

    eclipse插件,根据数据库表自动生成DTO(pojo)插件

    因此,"eclipse插件,根据数据库表自动生成DTO(pojo)插件"应运而生,它极大地提高了开发效率。 该插件的核心功能是根据数据库中的表结构自动生成对应的DTO和POJO类。这样,开发者无需手动编写这些类,只需专注于...

    eclipse luna hibernate tool 安装插件

    Hibernate Tools 是专门为Eclipse设计的一组插件,它们扩展了Eclipse的功能,为Hibernate提供图形化界面,支持实体类的生成、配置文件的编辑、SQL查询的执行等。 在Eclipse Luna中安装Hibernate Tools时,有时会...

    eclipse hibernate 反向生成带注解的实体类-步骤说明--详细

    为了能够利用Eclipse来生成Hibernate相关的实体类,我们需要先安装Hibernate Tools插件: 1. **确定Eclipse版本**: - 打开 **Help** &gt; **About Eclipse** 查看当前Eclipse的版本号。 2. **下载对应版本的...

    Eclipse 配置Hibernate3 插件,生成mapping 和java

    ### Eclipse 配置 Hibernate3 插件,生成 Mapping 和 Java #### 一、概述 本文主要介绍如何在 Eclipse IDE 中配置 Hibernate3 插件,并利用该插件自动生成数据库映射文件(Mapping)及对应的 Java 实体类。通过这...

    Hibernate Tools的使用,Eclipse逆向工程

    在逆向工程向导中,你需要指定`hibernate.cfg.xml`配置文件,选择数据库连接,并指定生成的源代码位置。 4. **选择表进行逆向**:在向导的下一步,你可以选择要从数据库中逆向的表,可以全选或只选择部分。此外,还...

    hibernate tool 非eclipse插件方式运行

    【标题】"Hibernate Tool非Eclipse插件方式运行"涉及的是在不依赖Eclipse环境的情况下,如何使用Hibernate Tool工具进行数据库操作。Hibernate Tool是Hibernate框架的一部分,它提供了一系列命令行工具,可以用来...

    eclipse3.4插件-Hibernate

    在Eclipse中安装Hibernate插件可以让开发过程更加便捷,提供了代码提示、实体管理、数据库连接配置以及SQL查询编辑器等功能。 在安装Hibernate插件时,需要注意以下几点: 1. **版本兼容性**:确保所下载的...

    hibernate-tool 插件

    5. **生成代码**:点击“Finish”后,插件会自动生成对应的Java实体类和.hbm.xml映射文件,这些文件可以直接被Hibernate框架使用。 ### 三、使用示例 假设有一个名为`users`的数据库表,包含`id`、`username`和`...

    如何使用Hibernate Tools生成Entity Bean

    为了简化开发过程,Hibernate提供了一款名为Hibernate Tools的插件,该插件可以集成到Eclipse、IntelliJ IDEA等IDE中,帮助我们自动生成Entity Bean,也就是Java对象,这些对象与数据库表进行映射。本篇将详细讲解...

    Hibernate在eclipse中反向生成

    在 Eclipse 中使用 Hibernate 的反向生成功能之前,首先需要安装 Hibernate Tools 插件。下面详细介绍安装步骤: 1. **打开 Eclipse 并创建新项目**: - 启动 Eclipse IDE。 - 新建一个 Web 或 Java 项目作为后续...

    Eclipse上使用Hibernate

    本文将指导您在 Eclipse 环境中使用 Hibernate,包括下载和安装 Hibernate、配置 Hibernate、生成实体类和 DAO 类、添加映射资源等步骤。 下载和安装 Hibernate 首先,您需要下载 Hibernate 并将其添加到项目中。...

Global site tag (gtag.js) - Google Analytics